cygwin bash脚本没有获得参数

时间:2012-03-15 07:39:29

标签: bash cygwin

我将.sh文件与bash相关联。所以我可以在Windows命令提示符下成功执行bash脚本。

问题是我无法从Winodws命令行向我的bash脚本传递命令行参数。

如果我先进行bash然后执行脚本,那么命令行参数处理得很好。

所以如果myscr.sh是

echo Args $1, $2

然后

c:\> myscr.sh a1 a2
Args ,

但是来自bash:

$ ./myscr.sh a1 a2
Args a1, a2

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

事实证明这是一个关联问题。

C:\> assoc .sh
.sh=sh_auto_file

C:\> ftype sh_auto_file
sh_auto_file="C:\cygwin\bin\bash.exe" "%1"

那是错的。它没有将参数传递给bash。要解决此问题,只需将%*添加到ftype

即可
C:\> ftype sh_auto_file="C:\cygwin\bin\bash.exe" %1 %*

所有参数都将通过。