Autorisation refusée lors de l'exécution de scripts .sh

42
./geany_run_script.sh: 5: ./geany_run_script.sh: ./Area_circumference: Permission denied

program exited with code: 126 . Ce problème se produit toujours lorsque j'essaie d'exécuter mon code. Quelle pourrait être la solution?

    
posée wkhwilo 22.01.2014 - 07:44
la source

3 réponses

76

Voici un lien expliquant comment Modifier l’autorisation de fichier (et la propriété)

Si vous souhaitez les ignorer (pour l'instant bien sûr), vous pouvez créer un répertoire / dossier dans votre répertoire utilisateur et travailler sur vos programmes (ou autres) C .

Vous pouvez ouvrir le terminal (appuyez sur Ctrl + Alt + T ) et cd dans le répertoire cible:

cd /path/to/target

Pour autoriser le fichier "the_file_name" à exécuter (si le système de fichiers vous autorise avec les droits RW):

chmod +x the_file_name
    
réponse donnée precise 22.01.2014 - 08:07
la source
14

Vous devez donner uniquement l'autorisation d'exécution. Suivez ceci:

    chmod +x filename.sh
    ./filename.sh

Lorsque nous créons un nouveau fichier de script, il dispose par défaut d’une autorisation de lecture et d’écriture. Mais si nous voulons les exécuter, nous devrions donner la permission d’exécuter comme indiqué ci-dessus.

    
réponse donnée Jay Modi 06.08.2014 - 06:07
la source
0

Ouvrez votre application de terminal en appuyant sur CTRL + ALT + T ou avec le raccourci approprié sur l'environnement graphique (comme Terminal ou xTerm ).
Dans la fenêtre uniforme qui apparaît à l'écran, vous verrez un caractère clignotant, c'est le terminal cursor : cliquez simplement sur la fenêtre et écrivez pour entrer du texte (en général des commandes) et appuyez sur ENTER pour confirmer la saisie. Avant que le curseur ne soit toujours répertorié, votre position actuelle sur le système de fichiers à partir de root directory ("/") et votre domicile (où se trouvent vos fichiers personnels) sont appelés "~".
Pour changer de répertoire / dossier, utilisez cd EXISTENTFOLDER (remplacez EXISTENTFOLDER par le nom du dossier); Si vous vous sentez perdu, tapez simplement cd pour retourner dans votre répertoire personnel en un clin d'œil!
Maintenant, résolvons votre problème :

  1. Utilisez la commande cd pour trouver le répertoire avec votre code source. Utilisez TAB pour vous aider. Si vous exécutez ls -lh , vous verrez une liste des chemins possibles à suivre et des fichiers à exécuter.

  2. Lorsque vous trouvez le fichier bloqué, exécutez chmod +x FILENAME (remplacez FILENAME par le nom de votre fichier de code source).

  3. Si vous avez plusieurs fichiers bloqués, exécutez chmod +x * pour déverrouiller tous les fichiers du répertoire en cours. Ne jamais chmod + x fichiers dangereux ou non sécurisés .

  4. Exécutez ./FILENAME YOUREVENTUALARGUMENTS pour exécuter votre fichier exécutable.

  5. N'oubliez pas que si votre programme compilé essaie de lire / écrire en dehors de votre répertoire personnel, vous devrez l'exécuter en tant que root en utilisant sudo ./FILENAME YOUREVENTUALARGUMENTS .

Si vous voulez avoir un manuel pour une commande, exécutez man COMMAND (remplacez COMMAND par le nom exact de la commande, Linux est sensible à la casse).

Certains shells ont une commande Open terminal here pour simplifier votre vie, recherchez-la à l'avenir et rappelez-vous que le shell de commande peut être votre meilleur ami, si vous l'utilisez bien. :-D

C'est tout. Si vous avez besoin de plus d'aide, cliquez ici.
Si je vous aide à appuyer sur la flèche vers le haut à gauche; si vous résolvez cette réponse comme la meilleure réponse.

Avoir une bonne expérience sur Linux & amp; Ubuntu.

    
réponse donnée Lorenzo Ancora 22.01.2014 - 11:42
la source

Lire d'autres questions sur les étiquettes