Aller au contenu

Programmation Bash/Problèmes connus

Un livre de Wikilivres.

Messages d'erreur

[modifier | modifier le wikicode]

bad interpreter no such file or directory

[modifier | modifier le wikicode]

Les fichiers qui transitent par Windows peuvent ne plus être lisibles par Unix :

 sed -i -e 's/\r$//' mon_script.sh
 ./mon_script.sh

command not found

[modifier | modifier le wikicode]

Quand on assigne une variable, il ne faut pas d'espace autour du "=".

No such file or directory

[modifier | modifier le wikicode]

Se produit lors du renommage d'un fichier contenant un caractère spécial. Ex :

mv "HYGIy�NE.pdf" "HYGIENE.pdf"
mv: can't rename 'HYGIy�NE.pdf': No such file or directory

Il faut alors le cibler avec un wildcard[1] :

mv *.pdf HYGIENE.pdf

Bonnes pratiques

[modifier | modifier le wikicode]

Quelques règles de bon sens[2] :

  1. Déclarer les variables globales en lecture seule, en majuscules, et avec des noms explicites (ex : remplacer $0, $1, etc.).
  2. Utiliser des antislashs pour ajouter des retours à la ligne, afin qu'une seule ligne ne fasse pas plusieurs choses.