我正在尝试从我的bash脚本运行以下内容.(通过msysgit安装bash)
taskkill /IM ssh-agent.exe
我从屏幕上得到的输出taskkill
是:
ERROR: Invalid argument/option - 'C:/Program Files/Git/IM'. Type "TASKKILL /?" for usage.
可执行程序正在运行,但/IM
正在扩展,无论我尝试做什么来逃避它...
我已经尝试使用\/IM
但是然后它发送\/IM
而没有逃避斜线,我尝试了几种不同的方式来运行它通过eval,cmd/c start等...但它们似乎都有问题.我也试过set -o noglob
,这也没用.既没有做过$'\057/'IM
类似的尝试......
由于我的评论实际上提供了答案,我将发布它.
如何将前锋斜线转移到另一个前锋斜线上//
.当我执行此命令时,它在我转义/r
参数时适用于我:
start C:/folder/beep 2000 250 100 //r 3
资料来源:http://oldwiki.mingw.org/index.php/switches%20with%20forward%20slashes
适用于Windows的极简GNU在MSYS下传递带正斜杠的开关
在MSYS中,命令行参数"/ c"被解释为C:驱动器,因此要传递以正斜杠开头的任何参数,您需要使用两个正斜杠.例如,要在MSYS中使用此命令:
cmd /c echo foo
使用:
cmd //c echo foo
如果你需要在shell脚本中使用windows风格的路径,你可以这样做
x=$(cd /unix/path && cmd //c cd)
x var现在包含/ unix/path的windows等效路径
经过数小时的搜索(例如“禁用bash文件扩展”)之类的搜索,我通过专门搜索要"bash" "windows" taskkill
尝试运行的可执行文件找到了它,然后我找到了这个答案,该答案最终对我有用。
cmd " /c taskkill /F /IM ssh-agent.exe"