Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash shell和Bash终端之间的区别?_Bash_Terminal - Fatal编程技术网

Bash shell和Bash终端之间的区别?

Bash shell和Bash终端之间的区别?,bash,terminal,Bash,Terminal,好的,我希望这个问题有点道理,但是bash shell和bash终端之间的区别是什么?例子。当我第一次打开终端时,会有一个提示,提示我的当前目录和用户名。在终端窗口标题中,当我键入echo$SHELL时,它会显示-bash-,我得到bash。因此,默认情况下,shell是bash。当我输入bash时,我的困惑开始显现。然后我的提示符转到bash-3.2$。显然这是一种不同的模式。有什么主要区别吗?我读了手册页,没有回答。我理解bashshell是什么,但我不明白其中的区别。谢谢你事先的澄清 没有

好的,我希望这个问题有点道理,但是bash shell和bash终端之间的区别是什么?例子。当我第一次打开终端时,会有一个提示,提示我的当前目录和用户名。在终端窗口标题中,当我键入echo$SHELL时,它会显示-bash-,我得到bash。因此,默认情况下,shell是bash。当我输入bash时,我的困惑开始显现。然后我的提示符转到bash-3.2$。显然这是一种不同的模式。有什么主要区别吗?我读了手册页,没有回答。我理解bashshell是什么,但我不明白其中的区别。谢谢你事先的澄清

没有区别,它们都是
bash
shell的实例

您看到不同提示的原因是您的初始登录shell源于
~/.bash_profile
,您可能在其中设置了提示。当您键入
bash
时,它会调用另一个shell,但由于此shell不是登录shell,因此它不会生成
~/.bash\u profile
,因此您会得到默认提示


如果您被调用
bash-l
(调用bash时就像它是一个登录shell一样),我打赌您会看到原来的提示仍然存在

我明白了,感谢您澄清了这一点,我非常困惑,我正在尝试掌握命令行和bash,再次感谢。@Gmenfan83。直到今天,我还需要看一下manbash,以记住登录、非登录、交互和非交互shell之间所有不同排列之间的区别