Je ne sais pas pourquoi mais les distributions modernes (Ubuntu pour ne citer qu'elle) refuse d'ajouter le répertoire ~/bin/ dans la variable d'environnement PATH.
A chaque nouvelle installation je suis obligé de faire la manipulation suivante pour retrouver mes scripts :
Création d'un fichier ~/.profile pour personnaliser le shell :
pcr@home:~$ vi ~/.profile
Ensuite il suffit d'ajouter dans ce fichier le code suivant :
#Si le répertoire ~/bin existe
if [ -d ~/bin ]; then
#On l'ajoute à la variable PATH
export PATH=$PATH:~/bin
fi
Ce code bash ajoute le répertoire ~/bin/ à la variable $PATH pour permettre à l'interpréteur de ligne de commande de reconnaitre les scripts exécutables du répertoire ~/bin/.
Ajouter cette fonctionnalité à tous les utilisateurs
Nicolas Albert, un lecteur assidu, m'a rappelé par email qu'il était possible d'ajouter cette fonctionnalité pour tous les utilisateurs du système en ajoutant le code précédent au fichier /etc/profile en root. Encore merci pour cette précision ;).
Solution alternative
Dans son mail, Nicolas, m'indique que le répertoire ~/.local/bin est une alternative couramment utilisée pour remplacer le répertoire ~/bin ce qui permet de ne pas afficher le répertoire de scripts lors d'un listing du répertoire home.
Le script bash à ajouter dans l'un des deux fichiers (/etc/profile ou ~/.profile) est alors le suivant :
#Si le répertoire ~/bin existe
if [ -d ~/.local/bin ]; then
#On l'ajoute à la variable PATH
export PATH=$PATH:~/.local/bin
fi
Image : Francisco Antunes