从 Bash 脚本调用应用程序

从 Bash 脚本调用应用程序

我在 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

答案1

为了使该函数对您的脚本可见,您需要使用以下命令将文件“源”到您的脚本中:

source /usr/local/MYPROGRAM/bin/myfn

或者:

. /usr/local/MYPROGRAM/bin/myfn

这会将文件内所有定义的函数、变量和常量包含到您的脚本中。

相关内容