我知道这应该输出我正在使用的shell,我认为它确实如此,因为它输出"bash-3.2",但它并没有那么做,因为它实际上改变了我的提示"bash- 3.2 $".还有什么事?当我按Ctrl + D时,我会回到原来的提示符.这是启动bash shell吗?我想通过打开一个终端窗口(我在Mac OS X中),我正在打开一个shell程序.
我试图谷歌,但我没有得到任何好的结果$ SHELL.另外,如何让谷歌在我的搜索中加入"$"?
是的,当你打开一个终端窗口时,你正在启动一个shell.
shell程序的名称存储在$SHELL
变量中.$SHELL
在命令行中运行简单的" "使用该变量中的值,然后将其解释为命令 - 运行新的shell.退出该shell时,将返回到它停止的shell.
有点像你在办公桌上做某事,而你的老板给你做了一些新工作,所以当你做这件新事时你就暂停原来的工作,然后你就可以在你离开的地方找到完成新任务.:-)
此新shell不是登录shell,因此它使用默认提示而不是shell登录配置文件中指定的提示.
$SHELL
当您需要从另一个程序中运行命令时,此选项很有用.例如,如果您在文本编辑器中并且想要插入shell命令的输出,则编辑器会知道您的$SHELL
环境变量要运行哪个shell程序.
Rob Kennedy评论了这个$SHLVL
变量.这表明你在炮弹中有多"深".例如,当您登录时," echo $SHLVL
"打印1.如果您打开一个新的shell,则相同的命令将打印2.退出该子shell并返回到您的登录shell后,该命令将再次打印1.这有点超出你的要求,它的用途更深奥,但它有点有趣.