Bash: permission non accordée
Bonjour, je me nomme Jean Désiré
j'ai comme os linux Ubuntu , depuis deux jours, je n'arrive pas à exécuté mes programmes . Il n'ya pas de problème au niveau de la compilation ,mais quant à l'exécution , j'obtient ce message :" bash/ permission non accordée"
je me mets en root et j'obtient le même résultat . toute aide serait la bienvenue. Merci
j'ai comme os linux Ubuntu , depuis deux jours, je n'arrive pas à exécuté mes programmes . Il n'ya pas de problème au niveau de la compilation ,mais quant à l'exécution , j'obtient ce message :" bash/ permission non accordée"
je me mets en root et j'obtient le même résultat . toute aide serait la bienvenue. Merci
2 réponses
-
normalement juste apres compilation un .
/NomProg
suffit à executer le prog
mais si non il faut penser a autorisier l'execution de ce fichier programme
soit bouton droit -> propriétés -> permissions -> cocher la case "rendre ce fichier executable" (ou un truc du genre)
soit en utilisant la commande chmodsudo chmod +x NomProg
et lis ceci
http://doc.ubuntu-fr.org/permissions
http://doc.ubuntu-fr.org/droits-
-
Salut,
Prend le temps de regarder si il a droit d'exécution.
Sinon tu peux toujours donner ton programme ou ses sources pour voir si quelqu'un est capable de faire quelque chose avec, mais je crois bien que c'est un problème avec les droit d'exécution.
@++ :- )
Edit : Regarde aussi si tu es propriétaire du fichier, car si tu as essayer de le lancer en root ça peut avoir changer le propriétaire. -
-
Merci pour toutes vos suggestions ,mais le problème persiste , alors voici le code :
#include<stdio.h>
char* result;
char* Remplacer( char* dez) { int k;
char* T[4]; T[0] = "lundi";
T[1] ="mardi";
T[2] ="mercredi";
T[3] ="jeudi";
char* H[4];H[0]="19h";
H[1]="20h";
H[2]="21h";
H[3]="22h";
char* C[4]; C[0]="france4";C[1]="madagascar4"; C[2]= "quebec3";C[3]="senegal6";
/*ligne 23 */ for (k=0;k<=4;k++){if(dez==T[k]) result=T[k+1];
else if (dez==H[k]) result=H[k+1];
else if (dez==C[4]) result=C[k+1];
else k++; }
return result ; //ligne 30
}
int main(){
/* Déclaration des variables */
char* alize[4]; char* xorg[4];char* pamela[4]; char* wolverine[4];
char* lillekim[4]; char* mystique[4];
int i,j,fin; fin=0;
/* initialisation des variables*/
alize[0]="SoireeFoot"; alize[1]="Jeudi"; alize[2]="19H"; alize[3]="France4";
xorg[0]="GMYM'Ac"; xorg[1]="Mardi"; xorg[2]="19H"; xorg[3]="Madagascar4";
pamela[0]="VMV"; pamela[1]="Lundi"; pamela[2]="20H"; pamela[3]="France4";
wolverine[0]="BOBOBO"; wolverine[1]="Mardi"; wolverine[2]="22H"; wolverine[3]="Senegal6";
lillekim[0]="GMYM'Ac"; lillekim[1]="Mercredi"; lillekim[2]="19H"; lillekim[3]="France4";
mystique[0]="SoireeFoot"; mystique[1]="Jeudi"; mystique[2]="21H"; mystique[3]="Madagascar4";
while(fin=0) { if ( (alize[0]==lillekim[0])||(alize[0]==mystique[0]))
for (j=1; j<=4;j++) if ((alize[j]==lillekim[j])||(alize[j]==mystique[j])) { Remplacer(alize[j]);alize[0]="vu";}
else if ((xorg[0]==lillekim[0])||(xorg[0]==mystique[0]))
for (j=1; j<=4;j++) if ((xorg[j]==lillekim[j])||(xorg[j]==mystique[j])) { Remplacer(xorg[j]);xorg[0]="vu";}
else
fin=1 ;
}
for (i=1;i<=4;i++) if ((pamela[i]==alize[i])|| (pamela[i]==xorg[i])) Remplacer(pamela[i]);
for (i=1;i<=4;i++) if((wolverine[i]==alize[i])||(wolverine[i]==xorg[i])|| (wolverine[i]==pamela[i])) Remplacer(wolverine[j]);
alize[0]="SoireeFoot"; xorg[0]="GMYM'AC";
printf("\n %s %s %s %s",alize[0],xorg[0],pamela[0],wolverine[0]);
printf("\n %s %s %s %s",alize[1],xorg[1],pamela[1],wolverine[1]);
printf("\n %s %s %s %s",alize[2],xorg[2],pamela[2],wolverine[2]);
printf("\n %s %s %s %s",alize[3],xorg[3],pamela[3],wolverine[3]);
return(1);
} -
en executant ton code il'y a une erreur de segmentation https://fr.wikipedia.org/wiki/Erreur_de_segmentation en plus du warning suivant à la compilation <code>test.c:55: warning: suggest parentheses around assignment used as truth value
(j'utilise geany)
et donc a la ligne 55; je change a tout hasard l'affectation en test d'égalité et plus de warnings ni d'erreurs d'execution
while(fin==0)
et bonne SoireeFoot !!!!
-