2

与标准默认 bash 相比,我想在 dash shell 上执行一些脚本。这是一个例子(test.sh)

#!/bin/dash
echo $SHELL 
echo $0

这次执行给了我

/bin/bash
./test.sh

作为输出。我期待 '/bin/dash' 作为输出。

如果这是错误的,有人可以让我知道我如何在 dash 上实际工作。谢谢

4

3 回答 3

3

SHELL环境变量从 中获取值/etc/passwd。(它表示用户首选的命令语言解释器的路径。)

如果您更改会话或脚本中的 shell,此值不会更改。

于 2013-08-14T09:07:53.527 回答
1

您可以通过添加命令来验证您是否正在运行 dash

ps | grep $$

$$变量包含PID正在运行的 shell 的进程。

于 2013-08-14T09:08:37.263 回答
1

这将显示确切的命令。

ps o command --no-header --pid "$$"
于 2013-08-14T09:22:03.510 回答