Saya dapat menyatakan kebutuhan saya dengan skenario berikut: Tulis fungsi yang menerima string untuk dijalankan sebagai perintah asli.
Itu tidak terlalu jauh dari sebuah ide: jika Anda berinteraksi dengan utilitas baris perintah lainnya dari tempat lain di perusahaan yang memasok Anda dengan perintah untuk menjalankan kata demi kata. Karena Anda tidak mengontrol perintah, Anda harus menerima perintah yang valid sebagai masukan . Ini adalah masalah utama yang tidak bisa saya atasi dengan mudah:
Perintah mungkin menjalankan program yang hidup di jalur dengan spasi di dalamnya:
$command = '"C:\Program Files\TheProg\Runit.exe" Hello';
Perintah mungkin memiliki parameter dengan spasi di dalamnya:
$command = 'echo "hello world!"';
Perintah ini mungkin memiliki kutu tunggal dan ganda:
$command = "echo `"it`'s`"";
Apakah ada setiap cara yang bersih untuk mencapai ini? Saya hanya bisa menyusun solusi yang boros dan jelek, tetapi untuk bahasa scripting saya merasa ini harus sederhana.