使用NSTask执行Shell脚本FILE-Objective-C

时间:2018-11-20 09:11:26

标签: objective-c bash shell nstask

我有一个文件“ Script.sh”,其中包含不同的shell命令,例如一些默认的写或创建文件夹,移动文件等。例如:

#!/bin/sh
defaults write com.apple.finder AppleShowAllFiles -bool TRUE
killall Finder

但是,对于Objective C来说还很陌生,并且没有找到任何解决方案来使用NSTask运行整个文件。我只找到了一些直接将其编码到Objective C的解决方案。

有可能吗?

1 个答案:

答案 0 :(得分:-1)

使其正常工作。 只需将Shell脚本的路径设置为NSTask的参数并启动它即可。

NSURL *myscript =[[NSBundle mainBundle] URLForResource:@"script" withExtension:@"sh"]; 


NSTask *task = [[NSTask alloc] init];
task.launchPath = @"/bin/sh";

task.arguments =@[myscript.path];
[task launch];
[task waitUntilExit];