无法从Windows批处理文件运行shell脚本

时间:2015-06-24 01:06:28

标签: linux windows bash shell

我一直在尝试做一些脚本,但我似乎无法理解这个错误。

bash: /test.sh: No such file or directory

基本上,我想使用带有test.shbash选项的-c来运行脚本-l

bash -l -c ~/opt/ct/src/test.sh

但是这整行是从位于与test.sh相同的目录中的Windows批处理文件(.cmd)调用的。我正在使用64位Cygwin(但我也安装了MinGW)。我已经确保文件路径指向bash.exe(做了一个设置的PATH)并且它是正确的,就像shebang一样。我也在脚本上做了dos2unix

为什么有任何想法?我所写的这条线在Cygwin完美无缺。

1 个答案:

答案 0 :(得分:0)

我发现了问题。

我知道很久以前我在Windows Path变量中添加了MinGW的路径。似乎当我做bash时,它实际上运行的是MinGW而不是Cygwin(使用which bash.exe进行验证)。

我删除了通往MinGW的路径,瞧,它有效。

故事的道德:永远不要在Path变量中放置两条指向两个同名程序的路径!