与标准默认bash相比,我想在dash-shell上执行一些脚本。这是一个示例(test.sh)
#!/bin/dash
echo $SHELL
echo $0
这次执行给了我
/bin/bash
./test.sh
作为输出。我期望"/bin/dash"作为输出。
如果这是错误的,有人能让我知道我实际上是如何在仪表板上工作的吗。感谢
SHELL
环境变量从/etc/passwd
获取值。(它表示用户首选命令语言解释器的路径。)
如果您更改会话或脚本中的shell,则该值不会更改。
您可以通过添加命令来验证是否正在运行dash
ps | grep $$
$$
变量包含运行shell的进程的PID
。
这个将显示确切的命令。
ps o command --no-header --pid "$$"