NSTask - 执行 echo 命令

问题描述 投票:0回答:2

我正在尝试运行一个简单的任务,该任务必须执行 echo“Hello World”

这是我的代码:

NSTask *task;
    task = [[NSTask alloc] init];


    [task setLaunchPath:@"/bin/bash"]; 




    NSArray *arguments;

    arguments = [NSArray arrayWithObjects:@"echo","hello world" nil];
    [task setArguments: arguments];

    NSPipe *pipe;
    pipe = [NSPipe pipe];
    [task setStandardOutput: pipe];
    [task setStandardError: pipe];

    NSFileHandle *file;
    file = [pipe fileHandleForReading];



    [task launch];
    //...
    //Code to get task response

继续给我没有这样的文件或目录错误..我做错了什么?

objective-c cocoa command nstask
2个回答
3
投票

执行命令的正确方法是

bash -c "echo 'hello world'"

这意味着你应该传递的参数是

arguments = [NSArray arrayWithObjects:@"-c", @"echo 'hello world'", nil];

0
投票

为什么不在 Xcode 编译器之外运行?

© www.soinside.com 2019 - 2024. All rights reserved.