Насколько я понимаю, обычным способом добавления пути к PATH
переменной среды является объединение путей, разделенных :
символом.
Например, если я хочу добавить к нему три пути /my/path/1
, /my/path/2
и /my/path/3
я должен сделать это следующим образом:
PATH=$PATH:/my/path/1:/my/path/2:/my/path/3
который не легко читать.
Есть ли способ определить или добавить пути к PATH
переменной, используя многострочный синтаксис ? Возможно, используя массивы? Я ищу что-то вроде этого:
PATH =
$PATH
/my/path/1
/my/path/2
/my/path/3
Если есть интересные решения, относящиеся к конкретной оболочке, я ищу решение в zsh.
источник
paste
решении?Совсем не интересное решение, но очень портативное:
источник
+=
чтобы избежать необходимости полностью перестроить строку.В zsh
$path
есть массив:Примечание: оба
path
в нижнем регистре.источник
В zsh, если вы добавляете каталоги в конце пути:
Портабельно: Как правильно добавить путь к PATH?
Вы можете использовать квалификаторы glob для исключения записей, которые не являются существующими каталогами или символическими ссылками на них. Это может или не может быть желательным, в зависимости от того, ожидаете ли вы, что каталоги могут быть добавлены позже во время сеанса (например, если они находятся на удаленных файловых системах). Вы не можете сделать это с помощью
path+=/my/path
синтаксиса, потому что правая часть находится в строковом контексте и поэтому не подвергается глобализации; Вы можете сделать это,path+=(/my/path)
поскольку каждый элемент массива раскрывается в контексте списка.источник