Это, конечно, возможно.Терминал в основном просто запускает оболочку (по умолчанию bash).Вы можете просто запустить приложение, которое перенаправляет введенный текст на bash, и позволить bash делать всю работу.Или вы могли бы интерпретировать ввод самостоятельно.Bash по большей части довольно прост: вы набираете программу и аргументы, она находит программу в $PATH
и запускает ее с заданными аргументами.(Конечно, bash немного интереснее, какие каналы, перенаправление ввода / вывода, скрипты, фоновые задачи и т. Д., Но если вам это не нужно в вашем приложении, вы можете игнорировать эти функции.) Вы можете использовать NSTask
, system(3)
или exec
семейство задач для запуска процессов (вероятно, NSTask
- ваш лучший выбор).