【问题标题】:Setting an environment variable in Cygwin在 Cygwin 中设置环境变量
【发布时间】:2012-06-27 10:12:17
【问题描述】:

我一直在尝试使用命令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 环境。谁能告诉我哪里出错了...

谢谢...

【问题讨论】:

  • 你能给我们那个 shell 脚本直到第 8 行的内容吗?你是如何运行那个 shell 脚本的?

标签: shell variables cygwin environment-variables


【解决方案1】:

运行

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

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

source ~/.bashrc

使其立即生效。

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

【讨论】:

  • @user1427429:你不能让它工作吗?什么不完全有效?
【解决方案2】:

我在尝试让 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 程序的其他人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-18
    • 2012-07-07
    • 2018-07-13
    • 2011-03-25
    • 2015-02-01
    • 2017-01-01
    • 2017-10-30
    • 2012-03-22
    相关资源
    最近更新 更多