从Windows脚本获取cygwin环境变量的值

时间:2014-03-25 07:05:35

标签: windows batch-file cygwin

我有一个Windows批处理脚本(说实话,它是一个Groovy脚本)。在此脚本中,我确定了Cygwin安装的根目录。下一步是找出当前用户和主目录。在Cygwin中,这只是一个

echo $HOME
#=> /home/Christian

与我的问题非常接近的是以下问题:Get results of command from Cygwin in Batch。 我想执行这样的事情:

"C:\cygwin[64]\bin\bash[64].exe" "echo $HOME"

但是我收到了

#=> /usr/bin/bash[64]: echo $HOME: No such file or directory

这是因为bash期待一个脚本文件,我想执行一个命令。如何才能做到这一点?是否有可能不将命令放在脚本文件中?

我的目标是获取当前用户主目录的Windows路径,以便我可以从Windows脚本遍历此目录。

1 个答案:

答案 0 :(得分:0)

发出单个命令的正确选项是-c,在您需要使用--login执行登录之前。

C:\>c:\cygwin64\bin\bash.exe --login -c "cygpath -w $HOME"
#=> C:\cygwin64\home\Christian

我找到了答案here