- 此文不考虑过多的特殊情形。
- 在当前目录建立shell脚本文件test.sh,内容如下:
#!/bin/bash source parent/second.sh echo "first: $(readlink -f ${BASH_SOURCE[0]})"
- 在parent/下建立second.sh,内容如下:
#!/bin/bash echo "second: $(readlink -f ${BASH_SOURCE[0]})"
- 在当前目录输入: source test.sh,得到输出:
second: /home/chenpan/salt/test_code/parent/second.sh
first: /home/chenpan/salt/test_code/subshell.sh
- 总结:命令$(readlink -f ${BASH_SOURCE[0]})可以得到此命令所在的shell文件的绝对路径,不论它在什么地方被运行。