Je ne sais pas pourquoi j'obtiens une erreur lors de l'exécution de ce script simple:
#!/bin/bash
read -p "Please enter directory name: " DIR
read -p "Please enter the path: " PATH
mkdir -p "$PATH/$DIR"
line 7: mkdir: command not found
N'utilisez pas la variable PATH
. Cette variable contient une liste de répertoires pour rechercher des programmes exécutables. Puisque vous le remplacez, le script ne peut plus trouver le programme mkdir
.
En général, évitez d'utiliser des variables qui sont toutes en majuscules, elles sont souvent utilisées comme paramètres pour le shell ou d'autres programmes.
La variable PATH
est une variable d'environnement importante - c'est la façon dont les programmes (comme mkdir
) sont trouvés, et vous l'écrasez. Vous ne devriez pas faire ça, mais si vous devez alors:
/bin/mkdir -p "$PATH/$DIR"
mais honnêtement, n'utilisez pas de majuscules! Il y a beaucoup de variables réservées ou spéciales dans Bash, et si vous ne vous en souvenez pas toutes, rappelez-vous simplement que toutes sauf une sont en MAJUSCULE. Les variables dans Bash sont sensibles à la casse, comme dans tous les langages de programmation sensibles.