我怎么能告诉Linux脚本(ash,而不是bash)正在运行“sourced”?

时间:2014-05-13 13:17:28

标签: linux ash

如何在灰烬脚本中告诉它是否正在运行"来源"或"正常"?来源我的意思是使用"。"或"来源"命令在当前shell中启动脚本。

1 个答案:

答案 0 :(得分:2)

不确定它是否是最佳选项(如果脚本与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