在Cygwin中设置环境变量

时间:2012-06-27 10:12:17

标签: shell variables cygwin environment-variables

我一直在尝试使用命令export PRIMOSBASE=/directory/for/primosfiles在Cygwin中设置环境变量。

当我使用命令echo $PRIMOSBASE检查变量时,它显示/ directory / for / primosfiles。希望这意味着设置了环境变量。

但是当我尝试为/ directory / for / primosfiles运行shell脚本(primos)时,它会显示

./primos: line 8: /prilaunch.pl: No such file or directory
chmod: failed to get attributes of `step1.sh': No such file or directory

这意味着我没有设置PRIMOSBASE环境。谁能告诉我哪里出错了?

谢谢...

2 个答案:

答案 0 :(得分:1)

运行

echo "export PRIMOSBASE=/directory/for/primosfiles" >> ~/.bashrc

将命令附加到.bashrc文件的末尾,以便每次使用Cygwin时都设置该变量。然后运行

source ~/.bashrc

立即生效。

注意:请确保使用双括号(>>)进行追加。为了以防万一,备份.bashrc可能是个好主意。如果您对I / O重定向不满意,可以选择使用编辑器编辑.bashrc。我认为vim是Cygwin中的默认工具之一。

答案 1 :(得分:1)

我有一个类似的问题试图让ANDROID_HOME在Cygwin窗口中工作。当我使用linux路径分隔符时,如下所示 ANDROID_HOME=/cygdrive/c/Users/User/AppData/Local/Android/sdk我的gradlew构建脚本抱怨它无法在ANDROID_HOME中找到sdk。

我最终发现我必须以Windows格式设置环境变量,包括Windows路径分隔符'\',如下所示 ANDROID_HOME=C:\Users\User\AppData\Local\Android\sdk

注意:Windows中设置的PATH和其他几个环境变量将转换为Linux格式。我希望这有助于其他想要/需要使用Cygwin + Windows +本质上需要环境变量的Windows程序的人。