Создание псевдонима - правильный синтаксис

Кто-либо может сказать мне, если следующий синтаксис правилен? Я предварительно ожидаю своя переменная ПУТИ, затем запускающаяся houdini

alias houdini_run='pathold=$PATH; PATH=/home/jim/yt-conda/bin:/home/jim/yt-conda/sbin; /opt/hfs16.5.595/bin/hindie-bin; PATH=$pathold'

Проблема состоит в том, когда я работаю, она, houdini ДЕЙСТВИТЕЛЬНО запускается, но я вижу много недостающих ошибок пакета даже при том, что они определенно установлены в каталоге bin, определенном в вышеупомянутом ПУТИ.

т.е.

sh: 1: grep: not found 

sh: 1: awk: not found 

sh: 1: ls: not found
0
задан 6 October 2018 в 07:20

2 ответа

Если Вы хотите только иметь свои определенные пути в $PATH при запущении желаемой программы затем можно сделать это как это:

PATH=/path/to/bins /opt/my_program

В Вашем случае:

PATH=$HOME/yt-conda/bin:$HOME/yt-conda/sbin /opt/hfs16.5.595/bin/hindie-bin

И установка псевдонима была бы похожа:

alias myprg="PATH=$HOME/yt-conda/bin:$HOME/yt-conda/sbin /opt/hfs16.5.595/bin/hindie-bin"

Теперь, когда Вы используете myprg это устанавливает $PATH к Вашим желаемым путям затем запускает Вашу программу и оставляет среду $PATH нетронутый, когда Вы сделаны с помощью программы.

1
ответ дан 27 October 2019 в 08:54

PATH используется оболочкой для нахождения программ (grep, awk, ls) выполниться.

Путем установки PATH=/home/jim/yt-conda/bin:/home/jim/yt-conda/sbin Вы говорите оболочке смотреть ТОЛЬКО в тех каталогах.

Установка Ваш PATH в псевдониме неблагоразумно. Только необходимо сделать это однажды. Поместите что-то как

PATH=$PATH:/home/jim/yt-conda/bin:/home/jim/yt-conda/sbin  

в Вашем ~/.bashrc

0
ответ дан 27 October 2019 в 08:54

Другие вопросы по тегам:

Похожие вопросы: