Posso expressar minha necessidade com o seguinte cenário: Escreva uma função que aceite uma string para ser executada como um comando nativo.
Não é uma idéia muito longe buscada: se você estiver em interface com outros utilitários de linha de comando de outras partes da empresa que fornecem um comando para executar literalmente. Como você não controla o comando, você precisa aceitar qualquer comando válido como entrada . Estes são os principais soluços que não consegui superar facilmente:
O comando pode executar um programa vivendo em um caminho com um espaço nele:
$command = '"C:\Program Files\TheProg\Runit.exe" Hello';
O comando pode ter parâmetros com espaços neles:
$command = 'echo "hello world!"';
O comando pode ter marcações simples e duplas:
$command = "echo `"it`'s`"";
Existe alguma maneira limpa de fazer isso? Eu só consegui conceber soluções generosas e feias, mas para uma linguagem de script, acho que isso deve ser simples.