我有一个批处理脚本,它调用带有一些参数的 exe。
目前我正在将参数传递给我的exe,如下所示:
$>my_cmd.exe %*
my_cmd.exe 程序的选项之一采用可以包含空格的参数
$>my_cmd.bat --req "in: lava" (OK my prog receives in: lava)
$>my_cmd.bat --req 'in: lava' (NOK my program receives 'in: lava')
用户无所谓地使用单引号或双引号。
它适用于双引号,因为它们在批处理脚本级别被吃掉,但是当它们使用 ' (单引号)时,它被留下并传递给我的程序。
my_cmd 是多平台的,在 unix 上,单引号和双引号都是特殊字符。
我想避免根据平台在 my_cmd 程序中做一些特定的事情。
有没有办法在 shell 脚本和批处理脚本中具有相同的行为。例如,如果存在,批处理脚本可以吃单引号吗?
告诉我什么是最适合您的解决方案。
非常感谢