我想在我的Mac程序中运行一些终端命令。
例如,我通常使用shell中的mate abc.txt
或python abc.py
来打开Text Mate或运行python脚本。
如何使用Cocoa / Objective-C做同样的事情?
我想过this method,但我更喜欢只跑一行。
例如,当用户输入“python abc.py”时,我只是运行命令,就像它在Terminal.app中一样。 Python的等效命令是os.system()
。
< - inputItem TextField
NSString* item = [inputItem stringValue];
[NSRuncommandLikeShell item]; <-- ????
应该保留环境变量,这样我就不需要运行'/ usr / bin / python'。
我可以将~/.MacOSX/environment.plist
文件用于设置路径环境。或者,我也可以使用this utility进行GUI。
答案 0 :(得分:3)
您可以使用NSTask
对象。如果您不喜欢此处的所有设置,您可以创建一个NSTask
类别,为您完成此任务。
答案 1 :(得分:1)
您可以使用C运行时system()
调用。
#include <stdlib.h>
system([item UTF8String]);