当前位置:  开发笔记 > 编程语言 > 正文

当我在命令提示符下输入shell时,$ SHELL命令除了输出shell之外还做了什么?

如何解决《当我在命令提示符下输入shell时,$SHELL命令除了输出shell之外还做了什么?》经验,为你挑选了1个好方法。

我知道这应该输出我正在使用的shell,我认为它确实如此,因为它输出"bash-3.2",但它并没有那么做,因为它实际上改变了我的提示"bash- 3.2 $".还有什么事?当我按Ctrl + D时,我会回到原来的提示符.这是启动bash shell吗?我想通过打开一个终端窗口(我在Mac OS X中),我正在打开一个shell程序.

我试图谷歌,但我没有得到任何好的结果$ SHELL.另外,如何让谷歌在我的搜索中加入"$"?



1> Bill Karwin..:

是的,当你打开一个终端窗口时,你正在启动一个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.这有点超出你的要求,它的用途更深奥,但它有点有趣.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有