Bash: permission non accordée

Fermé
Jean Désiré - 19 déc. 2010 à 21:48
 fuhefc - 20 sept. 2019 à 20:29
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



2 réponses

DrNitro
Messages postés
681
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
5 janvier 2015
100
19 déc. 2010 à 22:10
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 chmod
sudo chmod +x NomProg


et lis ceci
http://doc.ubuntu-fr.org/permissions
http://doc.ubuntu-fr.org/droits
8
jean désiré
20 déc. 2010 à 22:29
le pblem persiste ,g pense ke g ferai mieu de vous donner le programme et que vs l'exécutiez chez vous pour voir c que ca donne. thx
0
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.
0
DrNitro
Messages postés
681
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
5 janvier 2015
100
Modifié par DrNitro le 20/12/2010 à 23:43
petite rectification => il y a un point avant le /
et donc pour executer c'est plutot
./NomProg


je puis ajouter qu'en utilisant un IDE (exmple code blocks ou geany) il permet de compiler puis d'executer sans trop de cassement de tete !!!
bonne nuit
0
Jean Désiré
22 déc. 2010 à 00:39
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);
}
0
DrNitro
Messages postés
681
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
5 janvier 2015
100
Modifié par DrNitro le 23/12/2010 à 10:35
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 !!!!
0