环境变量在Cygwin中不起作用

时间:2013-01-17 13:14:03

标签: shell variables cygwin environment

我必须使用Cygwin在Windows中运行一些shell脚本。我可以使用%BASH% --login -i "/cygdrive/d/script.sh"来实现这一点,其中%BASH%是Windows中设置为C:\cygwin\bin\bash.exe的环境变量。

上面的脚本执行没有任何问题。但是当.sh文件中有Cygwin环境变量时,它就不起作用了。

例如,我创建了一个Cygwin环境变量$EXE_PATH = /cygdrive/d/somepath/dir。在我的脚本里面,行是

$EXE_PATH/some.exe -f /cygdrive/d/password.txt

每次运行脚本时,此行都有错误。 错误与未找到some.exe/password.txt有关。

如果我从Cygwin终端运行相同的命令,它可以正常工作。 /cygdrive是否有问题?

这是脚本

#!/bin/sh 
#TESTLEELA=/cygdrive/d 
echo simple shell script 

echo $EXE_PATH 

$EXE_PATH/runube.exe -f $TESTLEELA/password.txt DVRP910 *ALL R0006P XJDE0001 QBATCH B H S //NASRVNY1

1 个答案:

答案 0 :(得分:0)

更改行

$EXE_PATH = /cygdrive/d/somepath/dir

EXE_PATH=/cygdrive/d/somepath/dir   (in cygwin shell script)