как сделать конвейерную обработку в оболочке - PullRequest
0 голосов
/ 15 мая 2018

Я делаю оболочку и застрял.

У меня есть функция perform(char* string, int infd, int outfd); Это успешно берет строку и исполняет ее, выполняя ее идеально.

примеры: "echo $$" >> "54321"

"echo $(dirname $(pwd))" >> "/home/solmjs/test"

.

Теперь я должен сделать конвейерную работучтобы я мог разобрать строки следующим образом:

"finger | tail -n +2 | cut -c1-8 | uniq | sort"

Я очень запутался.Как начать?У меня есть функция, которая берет строку и расширяет ее, просматривая символы.Я могу искать «|»символов и, если я это сделаю, сохраните строки строк, которые идут до и после:

finger |tail -n +2 >> "finger", "tail -n + 2"

тогда я вызываю функцию perform, каким-то образом соединяя эти два?Я знаю, что в каналах outfd подключается к infd следующего, но я не понимаю, как это сделать между этими двумя строками.Спасибо

...