Exécution du fichier bash avec lerreur bin / bash: interprète incorrect: aucun fichier ou répertoire de ce type

Je suis très nouveau dans bash et jessaie décrire le premier script nommé hello_world dans le chemin de /Users/me/Study/Linux avec le contenu écrit par vim:

#! bin/bash echo Hello World 

Cependant, lerreur se produit lors de lexécution:

-bash: /Users/me/Study/Linux/hello_world: bin/bash: bad interpreter: No such file or directory 

Jai lu de nombreuses questions sur le problème mais je me sens toujours totalement perdu. 🙁 Je « serai très reconnaissant pour votre aide.

Commentaires

  • essayez #! /bin/bash pour le première ligne
  • @TedWrigley Thx, ça marche; mais pourquoi?
  • Le shebang (#!) prend un chemin vers un exécutable, et sous Unix / linux, les chemins doivent commencer par une barre oblique.

Réponse

La première ligne de votre script bash doit ressembler à ceci.

#!/bin/bash 

Ceci est appelé une « ligne shebang » car les deux premiers caractères #! sont un shebang . La ligne shebang indique à lordinateur quel programme exécutable doit être utilisé pour interpréter le reste du script. Dans ce cas, vous « écrivez un script bash, mais vous pourriez tout aussi bien écrire un script pour python ou awk, et vous devez indiquer au système quel interpréteur utiliser en fonction de la langue dans laquelle le script est écrit.

La raison pour laquelle votre ligne shebang #! bin/bash ne fonctionne pas est b parce que vous navez pas fourni de chemin valide (généralement un chemin absolu ) vers linterpréteur. Si vous omettez la barre oblique initiale /, le shell recherche alors bin dans le répertoire de travail actuel mais ne le trouve pas.

Puisque vous commencez tout juste à apprendre bash, je vous suggère de lire un livre. Cela vous évitera davoir à poser trop de questions. Apprendre le bash Shell, 3e édition par Cameron Newham est assez bon.

Commentaires

  • Notez que lespace après #! est sans importance – #!/bin/bash et #! /bin/bash les deux et #!bin/bash ou #! bin/bash ne fonctionnera que si vous cd / en premier (donc bin est trouvé ). Depuis votre lien Wikipédia " Vides après! sont OK "

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *