1

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

4

1 回答 1

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
于 2014-05-13T13:22:09.063 回答