Я новичок в 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
также не оценивается при условии 'или'?