Я хотел бы иметь некоторую точность о поведении read (2) в системах Linux,
Я пытаюсь сделать оболочку, и у меня возникла проблема при чтении ввода.
Я делаю что-то вроде
read(0, BUF, 4096);
Итак, дело в bash (и в большинстве оболочек), вы можете передать команду следующим образом:
echo ls | bash
Bash выполнит ls только один раз, но когда я делаю это чтение, всегда возвращаю мне один и тот же буфер, "ls"
так что идет в бесконечном цикле.
Я хотел знать, почему read (2) не возвращает мне 0, спасибо.