如何将shell从bash改为dash



与标准默认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 "$$"

最新更新