Bra*_*d.R 3 unix macos bash .bash-profile macos-sierra
操作系统:macOS Sierra v10.12.2
我试图让R从命令行工作并遇到这个问题,可能是因为我对编码相对较新并且搞砸了我不应该拥有的东西.
开通新航站楼时:
-bash: /Users/Brad/.bash_profile: line 33: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)
当我检查配置文件时,它看起来像这样:
# 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;
Run Code Online (Sandbox Code Playgroud)
任何有关如何解决此问题的信息将不胜感激; 我不想继续搞乱,让它变得更糟!
谢谢!
这一行:
precmd () { PS1="${ORANGE}[%~] ${GREEN}$(prompt_ruby_info) ${NORMAL}$ " }
Run Code Online (Sandbox Code Playgroud)
最后错过了一个分号:
precmd () { PS1="${ORANGE}[%~] ${GREEN}$(prompt_ruby_info) ${NORMAL}$ " ; }
Run Code Online (Sandbox Code Playgroud)
从Bash参考手册:
{list; }
在大括号之间放置命令列表会导致列表在当前shell上下文中执行.没有创建子shell.以下列表中的分号(或换行符)是必需的.
这意味着你也可以写:
precmd ()
{
PS1="${ORANGE}[%~] ${GREEN}$(prompt_ruby_info) ${NORMAL}$ "
}
Run Code Online (Sandbox Code Playgroud)