Bash嵌套If-Else错误

时间:2013-03-01 05:20:52

标签: bash unicode if-statement

我正在尝试让我的bash配置文件在shell启动时激活kerl实例,所以我将以下内容放在我的.profile中:

if [ -d /opt/erlang/ ]; then 
    ERL_ENV=`ls -1d /opt/erlang/r* | sort | tail -1`;

    if [ -f "$ERL_ENV/activate" ]; then
        . $ERL_ENV/activate 
    else
        echo "Couldn't activate latest erlang environment"
    fi
fi

当我尝试获取文件时,我收到此错误:

-bash: .profile: line 30: syntax error near unexpected token `then'
-bash: .profile: line 30: `    if [ -f "$ERL_ENV/activate" ]; then'

我尝试了一些方法,但我的bash太生锈了。有什么问题?

我在OSX上使用Bash。(GNU bash,版本3.2.48(1)-release(x86_64-apple-darwin12))

1 个答案:

答案 0 :(得分:2)

我决定打开HARD MODE并查看十六进制。结束了作为复制粘贴的unicode角色。

文件的十六进制如下所示: Free Hexy Pics!

" e2 8082"光标在图片中的位置实际上是一个愚蠢的小En Space 用真实空间替换那些固定它的那些。

感谢其他人的答案!