【发布时间】:2015-02-08 00:36:45
【问题描述】:
我在 ./bash_profile 中有以下内容
export SRCROOT=/users/benjamin.beasley/work/svn/ccdev
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk_dev/Contents/Home
export PATH=$PATH$:~/tools/tools-versions/gradle-2.2.1/bin
export PATH=$PATH$:~/tools/activator
在 ~/tools/tools-versions/gradle-1.12/bin 中,我这样做了
drwxr-xr-x@ 4 xxx.xxx WORKDAYINTERNAL\Domain Users 136 Nov 12 11:47 .
drwxr-xr-x@ 13 xxx.xxx WORKDAYINTERNAL\Domain Users 442 Apr 29 2014 ..
-rwxr-xr-x@ 1 xxx.xxx WORKDAYINTERNAL\Domain Users 5071 Apr 29 2014 gradle
-rwxr-xr-x@ 1 xxx.xxx WORKDAYINTERNAL\Domain Users 2395 Apr 29 2014 gradle.bat
回显 $PATH$:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin$:/Users/xxx.xxx/tools/tools-versions/gradle-2.2.1/bin$:/Users/xxx.xxx/tools/activator90566
所以我得到了可执行的 gradle 可执行文件。我可以从这个目录执行它。但是如果我启动一个新的 shell,然后输入“gradle”,它会说找不到命令。但我“回显 $PATH$”,我看到 ~/tools/tools-versions/gradle-2.2.1/bin 文件夹的完整规范路径在那里。
但是我可以执行 activator,它是 ~/tools/activator 目录中的可执行文件。我不知道为什么 bash 知道 activator 而不是 gradle。
总结:
- gradle 可由该用户执行
- gradle 可以从命令行运行。
- gradle 在 $PATH$ 环境变量中
- 其他程序(例如 activator)也在 $Path$ 中,可以在终端的任何位置执行,而不管我希望 gradle 是什么目录。
【问题讨论】:
-
Unix 环境变量是
$PATH而不是$PATH$(它们不像 Windows 环境变量)。 -
也不要使用
~使用$HOME。 -
评论都没有帮助。还有更多想法吗? :)
-
如果您删除了所有最终的
$并干净地设置路径,则应该有第一条评论。看我的回答。
标签: bash path gradle environment-variables .bash-profile