GNU/Linux >> Tutoriels Linux >  >> Linux

Impossible d'exécuter des scripts bash même en tant que root ?

Bien que n'étant pas directement pertinent pour ce fil particulier; si un fichier provient d'un système Windows, il peut y avoir un CR/LF à la fin de la ligne. Cela affecterait toutes les lignes du fichier, y compris la ligne d'exécution initiale, et ne serait pas visible si vous visualisez le fichier.

$ ./test.sh 
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory

Pour voir cela, vous pouvez cat -A le fichier :$ cat -A ./test.sh#!/bin/bash^M$echo "me"^M$

Pour supprimer, utilisez dos2unix.


Cela peut arriver si vous avez monté le système de fichiers avec l'option "noexec". Vous devriez le supprimer.


Le script doit être exécutable. Utilisez ceci :

chmod +x <script-name>

Essayez

ls -la

pour voir les droits réels et la propriété du fichier. Pour voir si la commande chmod a réellement fonctionné. Vous voudrez peut-être changer le propriétaire avec le mod de vérification de fichier :http://www.tuxfiles.org/linuxhelp/fileowner.html


Linux
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. La différence entre l'approvisionnement ('.' ou 'source') et l'exécution d'un fichier dans Bash ?

  3. Impossible de supprimer le fichier, même lors de l'exécution en tant que root ?

  4. Aucune raison d'avoir un Shebang pointant vers /bin/sh plutôt que /bin/bash ?

  5. Impossible de Stat /etc/sudoers :aucun fichier ou répertoire de ce type ?

Comment vérifier si un fichier ou un répertoire existe dans Bash

Comment utiliser les opérateurs de test de fichiers Bash sous Linux

Script Bash - Instructions conditionnelles

Paramètres de script dans Bash

unix:///var/run/supervisor.sock aucun fichier de ce type

Comment configurer ssh sans mot de passe avec des clés RSA