我有一个带有两个参数的bash脚本。
在OS X上,我可以按如下方式调用脚本:
./my-script arg1 arg2
并将两个参数传递给脚本。
我在Windows上安装了MinGW,当我按如下方式调用脚本时:
my-script arg1 arg2
参数不会传递给脚本。
但是,如果我按如下方式调用它:
bash my-script arg1 arg2
将参数传递给脚本。
是否有另一种传递参数的方法而不必这样做?
答案 0 :(得分:0)
在OS X / Linux中,终端本身为bash,可以处理shell脚本。但是在Windows的情况下它不使用bash作为终端,这就是为什么你想安装mingw来获取bash本身。因此,如果要执行scipt,则需要执行bash然后输入脚本。因此,在command prompt中,您必须提供bash my-script arg1 arg2
。在Windows资源管理器中,您可以将* .sh扩展名设置为bash,这样点击脚本就可以执行bash。但你不能为脚本提供参数。总之,如果不给出bash
就不可能执行shell脚本。
对于Windows,我的建议是使用powershell脚本,这些脚本是新的或旧的batch scripts。