我可以在以下情况下表达我的需要:编写一个函数,该函数接受要作为本机命令运行的字符串。
这个想法不是太牵强:如果您正在与公司中其他地方的其他命令行实用程序交互,这些实用程序可以为您提供逐字运行命令。由于您不控制命令,因此需要接受任何有效命令作为input。这些是我一直无法轻松克服的主要问题:
该命令可能会执行位于路径中带有空格的程序:
$command = '"C:\Program Files\TheProg\Runit.exe" Hello';
该命令的参数中可能带有空格:
$command = 'echo "hello world!"';
该命令可能同时具有单刻度和双刻度:
$command = "echo `"it`'s`"";
有什么干净的方法可以做到这一点吗?我只能设计出繁琐和丑陋的解决方法,但是对于脚本语言,我觉得这应该变得非常简单。