3

我试图让我的 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))

4

2 回答 2

2

我决定打开 HARD MODE 并查看十六进制。最终成为复制粘贴的 unicode 字符。

该文件的十六进制如下所示: 免费Hexy图片!

图片中光标所在的“e2 8082”其实是个傻乎乎的小En Space
用真实空间替换那些修复它。

不过还是谢谢大家的回答!

于 2013-03-01T06:17:34.943 回答
0

可能是行尾有问题,试试

dos2unix .profile

参考

于 2013-03-01T06:03:10.807 回答