当我将其保存到我的~/.bashrc文件中时,我在运行source~/.bahrc时出错?有人知道我在这里做错了什么吗?
# Git branch in prompt.
parse_git_branch () {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* (.*)/1/'
}
错误
$ source ~/.bashrc
: command not found
'bash: /Users/RGA/.bashrc: line 3: syntax error near unexpected token `{
'bash: /Users/RGA/.bashrc: line 3: `parse_git_branch () {
注意:我的~/.bash_profile中唯一的东西是:
源~/.bashrc
更新以包括BASH版本(OSX 10.9)
$ bash --version
GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin13)
Copyright (C) 2007 Free Software Foundation, Inc.
错误输出有可疑之处。让我们看看前两个错误,并考虑一下您的文件的第一行有一个注释:
: command not found
这可能是什么命令?此处没有命令名。嗯…
'bash: /Users/RGA/.bashrc: line 3: syntax error near unexpected token `{
以及:为什么在行首有一个结束单引号,然后在行尾附近,就在大括号{
之前有一个开始单引号(后)?
如果前三行中的每一行都以一个最不可见的字符结尾,当打印该字符时,告诉计算机移回当前行的第一个位置,会怎么样?让我们将这个假设的大部分不可见字符表示为r
,它代表"导致位置返回行首的不可见字符"。那么找不到的命令就是这个不可见的字符r
命令,并且由于大括号{
后面跟有r
,所以出现语法错误。
也许我们应该把这个字符写成^M
,其中M
代表"行首的运动"。也许你的前三行是而不是:
# Git branch in prompt.
parse_git_branch () {
而是:
# Git branch in prompt.^M
^M
parse_git_branch () {^M
也许您应该使用不隐藏换行符n
之前出现的回车r
(也称为^M
)的编辑器来查看该文件。
(如果你的编辑器是vim
,你可以使用这个设置,有些人可能会称之为过度使用,但我喜欢它:
set ffs=unix " disable "file format = dos" detection
或者,您可以在打开文件后重新设置文件格式,这样vim
就不会在每行末尾重新添加^M。如果你使用其他编辑器,看看如何让它停止使用DOS风格的自动换行。)