В сценарий оболочки просто включите следующее:
PATH="$PATH:/usr/local/proc_mt/bin:usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin"
Если в вашем $PATH
есть исполняемые файлы с тем же именем, что и другие исполняемые файлы, и вы хотите отдать исполняемым файлам Matlab предпочтение перед другими, поместите его перед вашим текущим окружением $PATH
следующим образом:
PATH="/usr/local/proc_mt/bin:usr/local/MATLAB/MATLAB_Production_Server/R2015a/bin:$PATH"
В некоторых сценариях вам может понадобиться экспортировать эту переменную окружения, сделав
export PATH=[решения, которые я перечислил выше]
. ...что никогда не помешает (а в некоторых случаях может облегчить поиск неисправностей)
Проблема, с которой вы, вероятно, столкнулись, заключается в том, что вы устанавливаете $PATH
в вашей оболочке, а фактический сценарий по умолчанию использует окружение по умолчанию $PATH
. Вы можете избежать этого, как уже говорилось, явно задав $PATH
в самом скрипте.
Ошибка в вашем bash
— это неизвестная команда name
. Я не знаю, каково ваше намерение с этой командой, поэтому я не могу комментировать ее дальше.
Чтобы запустить скрипт Python с /home/project
в качестве рабочего каталога, непосредственно в командной строке:
( cd /home/project && python3 pyscript.py )
Команда заключена в круглые скобки, чтобы cd
не влияла на рабочий каталог сеанса интерактивной оболочки.
Как псевдоним:
alias mypyscript='( cd /home/project && python3 pyscript.py )'
В качестве функции оболочки:
mypyscript () (
cd /home/project && python3 pyscript.py
)
Как сценарий оболочки:
#!/bin/sh
cd /home/project && python3 pyscript.py
Во всех вышеперечисленных случаях python3 pyscript.py
не будет вызываться в случае сбоя cd
.