标签: linux bash shell scripting sh
在Bash中,获取shell脚本完整路径的正确方法是${BASH_SOURCE[0]},因为如果脚本来源,$0会返回bash。例如,尝试在终端中运行它:
${BASH_SOURCE[0]}
$0
bash
source <(echo 'echo $0')
它会打印bash。
有没有人知道如何为Bourne shell脚本执行此操作?例如,脚本foo的内容是什么,如果我输入了这个:
foo
sh -c '. foo'
它会输出脚本的完整路径吗?