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

./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?

Voici un lien qui explique la modification de l’autorisation de fichier (et de la propriété)

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


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

 cd /path/to/target 

Pour donner au fichier “nom_fichier_fichier” exécuter le droit d’exécution (si le système de fichiers le permet avec les droits RW):

 chmod +x the_file_name 

Vous devez uniquement donner une 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 des permissions de lecture et d’écriture. Mais si nous voulons les exécuter, nous devrions alors donner l’autorisation d’exécuter comme indiqué ci-dessus.

Ouvrez votre application de terminal en appuyant sur CTRL + ALT + T ou avec le raccourci correspondant dans 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 du terminal cursor : cliquez simplement sur la fenêtre et écrivez pour saisir du texte (généralement des commandes) et appuyez sur ENTER pour confirmer la saisie.
Avant le curseur, votre position actuelle dans le système de fichiers est toujours répertoriée à partir du root directory (“/”) et votre maison (où se trouvent vos fichiers personnels) est appelée “~”.
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 revenir à votre répertoire personnel en un clin d’oeil!
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 avez trouvé 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. 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é tente de lire / écrire en dehors de votre répertoire personnel, vous devez l’exécuter en tant que root à l’aide de sudo ./FILENAME YOUREVENTUALARGUMENTS .

Si vous voulez un manuel pour une commande execute 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 vous simplifier la vie, cherchez-la plus tard et rappelez-vous que la coquille de commande peut être votre meilleur ami, si vous l’utilisez bien. :-RÉ

C’est tout. Si vous avez besoin de plus d’aide, commentez ici
Si je vous aide, appuyez sur la flèche HAUT sur la gauche; si vous résolvez, marquez cette réponse comme meilleure réponse.

Bonne expérience sur Linux et Ubuntu.