Вызов сценария оболочки из C - PullRequest
1 голос
/ 18 июля 2011

Я хотел бы спросить, как вызвать сценарий оболочки с параметрами в C. Я нашел это, но, кажется, не работает.

#include <stdio.h>
#include <stdlib.h>

char script = "script.sh";

system(script);

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 18 июля 2011
const char * script = "script.sh";

вместо

char script = "script.sh";

Обратите внимание на знак «*» ...

функция system требует char *, а не один символ (строка, а не персонаж).

1 голос
/ 18 июля 2011

Основная ошибка: здесь вы указали строку в символ.То есть «char script» может содержать только 1 символ.Для этого вам понадобится char * script = "script.sh";

Ошибка Shell Script: убедитесь, что это "const char *", также укажите полный путь к файлу сценария "script.sh" илилюбую команду, которую вы хотите выполнить.

Также вы должны добавить #! / bin / bash вверху после включения библиотек.

0 голосов
/ 18 июля 2011

Это правильно, если вы передаете правильный путь к исполняемому файлу.

http://linux.die.net/man/3/system

Вы должны проверить возвращаемое значение и errno на наличие ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...