NSTask, не поднимающий $PATH со среды пользователя

Это создает таблицу и добавляет ее к #ufo

$('#ufo').append("<table id='ufo-table'>")

Это создает строку таблицы и добавляет ее к #ufo

[ 111]

Если вы хотите, чтобы строка таблицы находилась внутри таблицы, вы должны добавить ее в таблицу , а не в div.


$('#ufo').append("</table>")

Это ничего не делает. jQuery не будет создавать элемент из конечного тега.

Несмотря на абстракцию. Вы работаете с элементами DOM, а не с необработанным HTML. Вы не можете добавить начальный тег к элементу, только к другому элементу.

13
задан Abizern 13 July 2010 в 13:13
поделиться

4 ответа

Выполнение задачи через использование NSTask fork() и exec() на самом деле выполнять задачу. Интерактивная оболочка пользователя не включена вообще. С тех пор $PATH (в общем и целом) понятие оболочки, оно не применяется, когда Вы говорите о выполнении процессов некоторым другим способом.

13
ответ дан 1 December 2019 в 19:15
поделиться

/usr/local/git/bin в Вашем $PATH, когда Вы запускаете программу? Я думаю which только взгляды в $PATH пользователя.

2
ответ дан 1 December 2019 в 19:15
поделиться

Смотрите на вопрос, Узнают местоположение исполняемого файла в Какао. Похоже, что основной проблемой является то же. Ответ, к сожалению, не хорош и аккуратен, но там существует некоторая полезная информация.

1
ответ дан 1 December 2019 в 19:15
поделиться

Try,

    [task setLaunchPath:@"/bin/bash"];
    NSArray *args = [NSArray arrayWithObjects:@"-l",
                     @"-c",
                     @"which git",
                     nil];
    [task setArguments: args];

This worked for me on Snow Leopard; I haven't tested on any other system. The -l (lowercase L) tells bash to "act as if it had been invoked as a login shell", and in the process it picked up my normal $PATH. This did not work for me if the launch path was set to /bit/sh, even with -l.

21
ответ дан 1 December 2019 в 19:15
поделиться