Запустить скрипт оболочки из Objective-C
Я пытаюсь запустить сценарий оболочки, который находится в NSTextView
, Я знаю, что могу использовать NSTask
чтобы сделать это, но мне было интересно, что будет лучше, если сценарий существует только в памяти (текстовое представление), но не на диске.
Должен ли я временно записать его на диск или запустить как строку?
И какие параметры я передаю NSTask
? Должен ли я извлечь линию Шебанга и передать ее как launchPath
?
1 ответ
Решение
Вы можете выполнить /bin/bash
как твой NSTask
, а также setStandardInput
для NSPipe
, Затем напишите NSString
содержащий ваш скрипт в канал через его fileHandleForWriting
чтобы избежать создания файла на диске.