Je n'arrive pas à trouver comment lister les différents chemins d'accès dans $PATH
séparément pour qu'ils ressemblent à ceci :
/bin
/usr/bin
/usr/local/bin
Comment cela peut-il être fait ?
Je n'arrive pas à trouver comment lister les différents chemins d'accès dans $PATH
séparément pour qu'ils ressemblent à ceci :
/bin
/usr/bin
/usr/local/bin
Comment cela peut-il être fait ?
Utilisez la fonction Expansion des paramètres :
echo "${PATH//:/$'\n'}"
Cela remplace tous les :
en $PATH
par un saut de ligne ( \n
) et imprime le résultat. Le contenu de $PATH
reste inchangé.
Si vous voulez seulement remplacer le premier :
enlever la deuxième barre oblique : echo -e "${PATH/:/\n}"
Utilisation de l'IFS :
(set -f; IFS=:; printf "%s\n" $PATH)
IFS
contient les caractères sur lesquels bash effectue le découpage, donc un fichier IFS
con :
permet à bash de diviser l'expansion de $PATH
sur :
. printf
boucle les arguments sur la chaîne de format jusqu'à ce que les arguments soient épuisés. Nous devons désactiver le globbing (expansion de caractères génériques) en utilisant set -f
afin que les caractères génériques dans les noms de répertoires PATH ne soient pas développés.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.