Я можу висловити свою потребу за наступним сценарієм: Напишіть функцію, яка приймає рядок для запуску як нативної команди.
Ідея не надто вигадана: якщо ви взаємодієте з іншими утилітами командного рядка з інших місць компанії, які постачають вам команду для виконання дословно. Оскільки ви не контролюєте команду, вам потрібно прийняти будь-яку дійсну команду як вхідну . Це основні гики, які я не зміг легко подолати:
Команда може виконати програму, що живе в шляху з пробілом:
$command = '"C:\Program Files\TheProg\Runit.exe" Hello';
Команда може мати параметри з пробілами в них:
$command = 'echo "hello world!"';
У команді можуть бути як одиночні, так і подвійні галочки:
$command = "echo `"it`'s`"";
Чи є якийсь - або чистий спосіб досягти цього? Мені вдалося лише розробити розкішні та потворні способи вирішення питань, але для мови сценаріїв я вважаю, що це повинно бути мертвим просто.