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

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

4

1 回答 1

3

执行命令的正确方法是

bash -c "echo 'hello world'"

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

arguments = [NSArray arrayWithObjects:@"-c", @"echo 'hello world'", nil];
于 2012-05-30T16:30:04.710 回答