我必须在Windows中使用Cygwin运行一些shell脚本。我能够使用%BASH% --login -i "/cygdrive/d/script.sh"
实现这一点,其中%BASH%
是Windows中设置为C:cygwinbinbash.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
修改行
$EXE_PATH = /cygdrive/d/somepath/dir
EXE_PATH=/cygdrive/d/somepath/dir (in cygwin shell script)