- 此文不考虑过多的特殊情形。
- 在当前目录建立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文件的绝对路径,不论它在什么地方被运行。
文章介绍了在shell脚本中获取文件绝对路径的方法。通过在当前目录和parent/下分别建立shell脚本文件,输入source test.sh得到输出。总结指出,使用命令$(readlink -f ${BASH_SOURCE[0]})可获取此命令所在shell文件的绝对路径,不受运行位置影响。
778

被折叠的 条评论
为什么被折叠?



