#include <stdio.h>
#include <unistd.h>
main()
{
execlp("ls" , "ls", "-l", "|" , "sort", NULL);
}
Что случилось? Пожалуйста помоги.Почему execlp не позволяет мне использовать трубку?
Если я пишу это: execlp("ls" , "ls", "-l", NULL);
тогда результат отображается на экране, и если я пытаюсь это execlp("ls" , "ls", "-l", "|" , "sort", NULL);
экран сообщение об ошибке отображается не может получить доступ к.
Почему? Кто-нибудь есть идеи? Почему он не позволяет мне использовать трубу (|
), когда я выполняю команду execlp
?
потому сортировки другой программы. – resultsway
@purpletech Что вы имеете в виду? Не могли бы вы кратко объяснить? – anorthosi
«ls» и «sort» - это две программы. первый аргумент execlp может иметь дело только с одной программой. в основном он накладывает память на эту новую программу, которую вы указываете в первом аргументе, и передает параметры, которые вы упомянули. – resultsway