İhtiyacımı aşağıdaki senaryo ile ifade edebilirim: Yerel bir komut olarak çalıştırılmak üzere bir dizeyi kabul eden bir işlev yazın.
Bir fikirden çok uzak değil: şirketin başka bir yerinden size başka bir komut satırı yardımcı programı ile arabirim oluşturuyorsanız, size kelimesi kelimesini çalıştırma komutu veren bir komut sağlayın. Komutu denetlemediğiniz için, geçerli herhangi bir komutu giriş olarak kabul etmeniz gerekir . Bunlar kolayca üstesinden gelemediğim ana hıçkırıklar:
Komut, içinde boşluk bulunan bir yolda yaşayan bir programı yürütebilir:
$command = '"C:\Program Files\TheProg\Runit.exe" Hello';
Komutun içinde boşluk bulunan parametreler olabilir:
$command = 'echo "hello world!"';
Komutun hem tek hem de çift keneleri olabilir:
$command = "echo `"it`'s`"";
Var mı herhangi Bu gerçekleştirmenin temiz şekilde? Sadece cömert ve çirkin geçici çözümler tasarlayabildim, ancak bir senaryo dili için bunun basit olması gerektiğini hissediyorum.