📅  最后修改于: 2023-12-03 14:39:29.568000             🧑  作者: Mango
在 Bash 中,有时候我们需要在一个脚本中调用另一个脚本,而这个脚本可能位于相对路径下,这时候该怎么办呢?下面介绍几种方法。
如果另一个脚本和当前脚本位于同一目录下,我们可以使用相对路径调用脚本。例如,当前脚本为 script1.sh,另一个脚本为 script2.sh,它们都在 /home/user/scripts/ 目录下,那么在 script1.sh 中调用 script2.sh 的命令是:
./script2.sh
这里的 "./" 表示当前目录。
如果当前脚本不在脚本所在的目录下,那么我们需要先 cd 到脚本所在的目录,再执行相对路径调用。例如,如果当前脚本在 /home/user/ 目录下,我们需要执行:
cd /home/user/scripts/
./script2.sh
如果我们知道另一个脚本的绝对路径,我们可以直接调用它。例如,如果 script2.sh 的绝对路径为 /home/user/scripts/script2.sh,那么在 script1.sh 中调用它的命令是:
/home/user/scripts/script2.sh
$PWD 变量表示当前目录的绝对路径,我们可以使用它来调用相对路径下的脚本。例如,如果 script2.sh 位于脚本所在目录下,那么在 script1.sh 中调用它的命令是:
$PWD/script2.sh
如果当前脚本不在脚本所在目录下,我们需要先 cd 到脚本所在的目录,再执行 $PWD 变量调用。例如,如果当前脚本在 /home/user/ 目录下,我们需要执行:
cd /home/user/scripts/
$PWD/script2.sh
以上就是在 Bash 中调用相对于当前脚本的另一个脚本的几种方法。