bash while while循环混合条件

k-m*_*man 3 bash while-loop conditional-statements

我并不是说多个条件,而且它也是混合的:

while [[ read line ] && [ "$GoodURL" == "false" ]]
Run Code Online (Sandbox Code Playgroud)

那是正确的形式是什么?它是一个while循环,逐行在文本文件上运行,我想用这种$GoodURL类型的布尔值来阻止它,请帮忙.谢谢.

seh*_*ehe 6

while read line && [[ "$GoodURL" == "false" ]]
do 
    echo $line; 
done
Run Code Online (Sandbox Code Playgroud)

如果你想从文件/管道读取,一定要使用间接,否则你会得到有趣的结果(由于while循环在子shell中执行而实际上没有使用与周围shell相同的环境)

while read line && [[ "$GoodURL" == "false" ]]
do 
    echo $line; 
done < input.txt
Run Code Online (Sandbox Code Playgroud)