Я работаю над созданием базовой оболочки. Я застрял в попытке получить exec() для чтения из входного файла. Вот что у меня есть. Я не уверен, какие аргументы я должен кормить execvp(). Здесь stringList [0] будет чем-то вроде строк «ls» или «cat». Если StringList [0] Ls файл будет содержать что-то вдоль линий логинсервера -a -lExec() читать из файла
int fd = open(iFile, O_RDONLY);
dup2(fd, 0);
close(fd);
execvp(stringList[0], ...);
cout << "Exec error!\n";
exit(1);
Вы проверили возвращаемые значения 'open' и' dup2'? Это может быть не просто «execvp». – Brian
* Я пытаюсь получить exec() для чтения из входного файла. * Что вы ожидаете найти в файле и как вы хотите использовать содержимое файла? –
Если stringList [0] был ls, тогда файл будет содержать что-то вдоль строк ls -a -l – Jess