繁体   English   中英

我怎样才能知道Linux脚本(ash(不是bash))正在“来源”运行?

[英]How can I tell a Linux Script (ash, not bash) is running “sourced”?

如何在ash脚本中判断它是“源”还是“正常”运行? 所谓来源,是指使用“。” 或“源”命令以在当前shell中启动脚本。

不确定这是否是最好的选择(如果脚本的名称与Shell名称相同,则将不起作用),但是您可以检查第一个参数( $0 )。 例:

$ cat test.sh
#!/bin/ash
echo "Value: $0"


$ ./test.sh
Value: ./test.sh

$ source test.sh
Value: ash

如果您想检查文件是否是源文件,可以使用如下代码:

#!/bin/ash
case $0 in
    ash) echo "Sourced" ;;
      *) echo "Not sourced" ;;
esac

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM