Имея bash "while", l oop либо читает строку из STDIN, либо вызывает функцию - PullRequest
0 голосов
/ 01 апреля 2020

Я новичок в bash сценариях. Я могу сделать это:

while [ read line ] 
do
    # do something with $lin
done

Я также могу сделать это:

while [ checkBufferedLines ]
do
    # do something
done

Но то, что я хочу сделать sh, выглядит примерно так:

while [ read line ] || [ checkBufferedLines ]
do
    # do something with $line or the buffered lines
done

Вкратце, я хочу, чтобы l oop запускался, если $line назначен из stdin или если вызов функции возвращает true или 1, и . $line для короткого замыкания вызова функции, если он присутствует.

Это то, что я пытаюсь выполнить; это можно сделать? Или read line остановит l oop, поэтому функция checkBufferedLines также не оценивается при условии 'или'?

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