У меня есть приложение на моей машине с Ubuntu, установленное в /usr/local/MYPROGRAM/bin/myapp
. Когда я пытаюсь использовать myfn
в моем скрипте bash mybashscript.sh
, выдает ошибку, говорящую, что команда myfn
не найдена, но если я вызываю myfn
из обычного окна терминала, она работает нормально, так как она находится в ~/.bashrc
файл. Как я могу вызвать myfn
из моего скрипта bash mybashscript.sh
?
Вот mybashscript.sh
:
#!/bin/bash -i
alias brc='source ~/.bashrc'
source /usr/local/MYPROGRAM/bin/myapp
#exec bash
echo "******************pathhhhhhhh************"
echo $PATH
echo "******************pathhhhhhhh************"
/usr/local/MYPROGRAM/bin/myapp
Это вывод, когда я запускаю ./mybashscript.sh
:
bash: /bin/realbin/myapp: No such file or directory
******************pathhhhhhhh************
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
******************pathhhhhhhh************
/usr/local/MYPROGRAM/bin/myapp: 3: /usr/local/MYPROGRAM/bin/myapp: /bin/realbin/myapp: not found
Для создания функции видимой к сценарию, необходимо "получить" файл в сценарий с:
source /usr/local/MYPROGRAM/bin/myfn
или:
. /usr/local/MYPROGRAM/bin/myfn
Это будет включать все определенные функции, переменные и константы в файле в Ваш сценарий.