为什么在Docker Quickstart Terminal报告下运行bash终端
bash: parse_git_branch: command not found
在我键入的每个bash命令之后,如果我直接运行终端它可以正常工作吗?
在我的〜/ .bash_profile的Mac上(OS 10.9.5)我定义了一个函数来在我的提示符中显示git分支,当我运行终端时它工作正常除非我通过Docker Quickstart运行终端终端
在这两种情况下(正常运行终端,或通过Docker Quickstart终端)echo $BASH_VERSION
显示相同的结果(3.2.53(1)-release)。
在这两种情况下,如果我cat ~/.bash_profile
我看到同样的事情,并且在底部明确定义了函数:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "
答案 0 :(得分:0)
Docker Quickstart终端似乎没有启动登录shell,因此不会执行.bash_profile
。通常,您可以在PS1
中设置.bashrc
的值,以便为所有交互式shell定义它,这是大多数(所有?)Linux终端模拟器的开始。< / p>
在Mac OS X中,终端模拟器通常会启动登录shell,因为它们本身不是从 shell启动,而是由Finder启动。
好的做法是在.bashrc
设置提示,但要在OS X下从.bash_profile
获取该文件。