1/ Les built-ins, c'est les commandes internes au shell (ex: cd, echo, read), pas core-utils. Il n'y a pas besoin de PATH pour les exécuter.
2/ Tous les systèmes Unix et Unix like disposent d'un certain nombre de commandes standard (définies par POSIX, comme cat, ls, awk, sed, rm, mv, etc. et dont quelques unes sont fournies par core-util sous GNU). Ces commandes doivent obligatoirement être accessibles avec le PATH par défaut. Sous Linux, ces commandes sont soit dans /bin, soit dans /usr/bin (soit les deux).
Ce n'est pas une bonne pratique de mettre le path complet pour chaque occurrence de ces commandes. Par exemple, des commandes comme yes, cut ou expr vont se trouver dans /usr/bin sur certains Unix-like et dans /bin dans d'autres. Il faudra que tu fasses une version de script par système cible, ce qui est absurde.
Pour ne pas avoir ce problème, il suffit de ne pas retirer ces deux répertoires du PATH (et de les laisser en début de PATH) pour qu'elles continuent à être utilisables. Si tu veux gérer le cas où les commandes non standard que tu utilises peuvent se trouver dans des endroits différents suivant les distributions, il suffit d'ajouter la liste des tous les chemins possibles dans ton PATH dans le script appelant :
PATH=$PATH:/opt/phpmachin/bin:/var/phptruc/bin
PS: Dans les forums, pas besoin de se vouvoyer.
Partager