Bash是默认的,但是当我运行“bash:in terminal”时仍然会改变?

时间:2015-06-17 17:59:23

标签: linux macos bash shell

当我打开终端时,提示如下:

<computer-name>:~ <username>$

当我在Mac终端中运行bash时,它会将我的提示更改为以下内容:

bash-3.2$

然而,这让我感到惊讶,因为我的shell已经是bash:我知道这是因为当我运行以下echo命令时它会产生bash:

echo $SHELL 
/bin/bash

那么,当bash已经是我的默认值时,为什么提示会改变?我有什么误解吗?谢谢。

2 个答案:

答案 0 :(得分:2)

提示由PS1变量定义。见

echo $PS1

两种情况。 最有可能在您登录时,某些启动脚本会更改PS1的值。检查文件:

~/.bash_profile
~/.bash_login
~/.bashrc
~/.profile
/etc/profile
/etc/bash.bashrc

有关bash如何开始的详细信息,请参阅man bash中的INVOCATION部分和PS1以及其他提示相关变量的部分,请参阅PARAMETERS部分。

答案 1 :(得分:0)

你的PROMPT(又名PS1)发生了变化,因为当你打开终端时,它可能会运行bash: 1)作为登录shell(在这种情况下,bash,可能有登录shell模式的特殊设置(查看〜/ .bash_profile或/ etc / profile(尽管/ etc / profile应该加载,即使对于非登录shell))) ;

2)TERM值,不同,你手动调用(实际上,我怀疑它);

3)使用它自己的自定义bashrc或类似的东西;

无论如何,你可以编辑〜/ .bashrc(例如,从〜/ .bash_login复制PS1并得到你想要的东西)