操作系统: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;
非常感谢有关如何解决此问题的任何信息;我不想继续搞乱并让它变得更糟!
谢谢!
答案 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}$ "; }