没有任何命令输入的变量 $SHELL 有什么作用?

没有任何命令输入的变量 $SHELL 有什么作用?

我知道 $SHELL 是一个环境变量,它指的是当前的默认 shell。echo $SHELL将路径打印到标准输出。

这里使用它来保持终端窗口打开: 如何在不关闭终端的情况下运行脚本?

当像某些命令一样输入 $SHELL 时,它会做什么?

答案1

它被展开,其内容被解释为要运行的命令。例如,如果它包含/bin/bash,它将运行/bin/bash,即它将启动一个新的 bash shell。

在特定的例子中,它可以防止终端被关闭,因为 shell 正在交互模式下运行,即等待用户输入命令。

相关内容