我有一个 sh/bash 脚本,它需要调用带有参数的批处理文件(参数是文件名,并以 DOS/Windows 格式给出)。
基本上我有: script.sh
#!/bin/sh
declare var1=$1
declare var2=$2
dosomething var1 var2
...
<invoke batch script> var1 var2
...
dosomethingelse
我GNU bash, version 3.1.0(3)-release (i686-pc-msys)
用作外壳,在msysgit
问题是当我从脚本运行时:
$COMSPEC /c batchfile param1 param2
要么我得到一个看起来像 bash 的“空提示”,但控制台上没有显示命令结果,要么cmd.exe
启动,但不执行脚本。
我试过像这样引用参数来bash:
$COMSPEC /c \"batchfile param1 param2\"
$COMSPEC /c \"\"batchfile param1 param2\"\"
$COMSPEC /c \"\"batchfile \"param1\" \"param2\"\"\"
但我没有得到任何结果。