.bash_profile语法错误:意外的文件结束

时间:2017-01-23 20:37:39

标签: bash macos unix macos-sierra .bash-profile

操作系统:macOS Sierra v10.12.2

我试图让R从命令行工作并遇到这个问题,可能是因为我对编码相对较新并且搞砸了我不应该做的事情。

打开新终端时:

-bash: /Users/Brad/.bash_profile: line 33: syntax error: unexpected end of file

当我检查配置文件时,它看起来像这样:

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

# Setting PATH for Python 3.5
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.5/bin:${PATH}"
export PATH

export PATH="$HOME/.bin:$PATH"

eval "$(hub alias -s)"

  prompt_ruby_info() {
    if [ -f ".ruby-version" ]; then
      cat .ruby-version
    fi
  }

GREEN=$(tput setaf 65)

ORANGE=$(tput setaf 166)

NORMAL=$(tput sgr0)

precmd () { PS1="${ORANGE}[%~] ${GREEN}$(prompt_ruby_info) ${NORMAL}$ " }

export CLICOLOR=1;

export LSCOLORS=Gxfxcxdxbxegedabagacad;

非常感谢有关如何解决此问题的任何信息;我不想继续搞乱并让它变得更糟!

谢谢!

2 个答案:

答案 0 :(得分:5)

这一行:

precmd () { PS1="${ORANGE}[%~] ${GREEN}$(prompt_ruby_info) ${NORMAL}$ " }

最后错过了分号:

precmd () { PS1="${ORANGE}[%~] ${GREEN}$(prompt_ruby_info) ${NORMAL}$ " ; }

来自Bash参考手册:

  

{list; }

     

在花括号之间放置命令列表会导致   要在当前shell上下文中执行的列表。没有子壳   创建。以下列表中的分号(或换行符)是必需的。

这意味着你也可以写:

precmd ()
{
  PS1="${ORANGE}[%~] ${GREEN}$(prompt_ruby_info) ${NORMAL}$ "
}

答案 1 :(得分:1)

您在第27行错过了分号(;)

precmd () { PS1="${ORANGE}[%~] ${GREEN}$(prompt_ruby_info) ${NORMAL}$ "; }