-bash:export:不是有效的标识符

时间:2014-11-24 15:04:15

标签: android macos bash cordova

我非常擅长移动应用程序开发,并选择通过Cordova进行HTML / CSS / JavaScript方法。我在尝试修改.bash_profile中的PATH和ANDROID_HOME并导出$ PATH或$ HOME时遇到此错误:

-bash: export: `/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/Development/android-sdk-macosx/tools:/Development/android-sdk-macosx/platform-tools': not a valid identifier

我可以在路径的开头看到一个空格,但是我已经检查了.bash_profile并且没有空间可以移除?读完之后我想我会检查.bashrc以查看是否有空间从其他地方投入,但显然:

.bashrc does not exist

感谢您花时间阅读本文,感谢您给予的任何帮助!

2 个答案:

答案 0 :(得分:1)

文本not a valid identifier抱怨设置为该给定值的标识符。由于$在作业的左侧方面使用不当导致经常,例如:

export $PATH=something

应该而不是:

export PATH=something

如果不是这种情况,请检查=两侧的空格。拥有这些,最有可能在=之后也会导致您看到这个问题。

附加到路径时,语法如下:

PATH=$PATH:/path/to/something

或:

export ANDROID_HOME=/path/to/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

如果您真的有兴趣了解导出失败的原因,我经常使用的一个技巧是改变:

export xyzzy=$plugh/folder

首先回应它:

echo "[export xyzzy=$plugh/folder]"
export xyzzy=$plugh/folder

这样,我可以看到完全在替换发生后如何解释命令。另一种可能性是在set -x行周围添加set +xexport,因为这会导致bash shell在执行之前回显该语句。

有时我会将set -x放在脚本顶部附近,以便所有命令在执行前得到回应,但需要进行一些搜索以缩小问题范围。

答案 1 :(得分:1)

我在这篇文章中使用Jesper的评论解决了这个问题。我编辑了.bash_profile以反映以下内容:

export ANDROID_HOME=/Users/Appa/Development/android-sdk-macosx export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools