Кто-либо может сказать мне, если следующий синтаксис правилен? Я предварительно ожидаю своя переменная ПУТИ, затем запускающаяся 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
Если Вы хотите только иметь свои определенные пути в $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
нетронутый, когда Вы сделаны с помощью программы.
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