![没有任何命令输入的变量 $SHELL 有什么作用?](https://linux22.com/image/920703/%E6%B2%A1%E6%9C%89%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%BE%93%E5%85%A5%E7%9A%84%E5%8F%98%E9%87%8F%20%24SHELL%20%E6%9C%89%E4%BB%80%E4%B9%88%E4%BD%9C%E7%94%A8%EF%BC%9F.png)
我知道 $SHELL 是一个环境变量,它指的是当前的默认 shell。echo $SHELL
将路径打印到标准输出。
这里使用它来保持终端窗口打开: 如何在不关闭终端的情况下运行脚本?
当像某些命令一样输入 $SHELL 时,它会做什么?
答案1
它被展开,其内容被解释为要运行的命令。例如,如果它包含/bin/bash
,它将运行/bin/bash
,即它将启动一个新的 bash shell。
在特定的例子中,它可以防止终端被关闭,因为 shell 正在交互模式下运行,即等待用户输入命令。