Pour autant que je sache, la manière habituelle d'ajouter un chemin à la PATH
variable d'environnement est de concaténer des chemins séparés par le :
caractère.
Par exemple, si je veux ajouter trois chemins à lui /my/path/1
, /my/path/2
et /my/path/3
, je dois le faire comme suit:
PATH=$PATH:/my/path/1:/my/path/2:/my/path/3
ce qui n'est pas facile à lire.
Existe-t-il un moyen de définir ou d' ajouter des chemins à la PATH
variable à l'aide d'une syntaxe multiligne ? Peut-être en utilisant des tableaux? Je cherche quelque chose comme ça:
PATH =
$PATH
/my/path/1
/my/path/2
/my/path/3
Dans le cas où il existe des solutions intéressantes spécifiques au shell, je recherche une solution en zsh.
la source
paste
solution?Pas une solution intéressante du tout, mais très portable:
la source
+=
pour éviter d'avoir à reconstruire complètement la chaîne.Dans zsh,
$path
est un tableau:Remarque: les deux
path
sont en minuscules.la source
Dans zsh, si vous ajoutez des répertoires à la fin du chemin:
Portablement: Comment ajouter correctement un chemin d'accès à PATH?
Vous pouvez utiliser des qualificatifs glob pour exclure des entrées qui ne sont pas des répertoires existants ou des liens symboliques vers ceux-ci. Cela peut être souhaitable ou non, selon que vous vous attendez à ce que les répertoires soient ajoutés ultérieurement au cours de la session (par exemple, s'ils se trouvent sur des systèmes de fichiers distants). Vous ne pouvez pas faire cela avec la
path+=/my/path
syntaxe car le côté droit est dans un contexte de chaîne et ne subit donc pas de globalisation; vous pouvez le faire avecpath+=(/my/path)
puisque chaque élément de tableau est développé dans un contexte de liste.la source