从文本文件中一次读取2行,并将其分配给shell脚本中的变量

从文本文件中一次读取2行,并将其分配给shell脚本中的变量,shell,while-loop,Shell,While Loop,我有一个50个数字的文本文件。我想一次读两行,把它分配给变量 input.txt: 129260 129288 129356 129384 读取input.txt(一次两行) 放一个循环,直到整个文件被读取为止 从input.txt一次读取两行,将每行分配给一个变量,并显示变量的值: $ while read -r val1 && read -r val2; do echo "val1=$val1 and val2=$val2"; done <input.txt val1

我有一个50个数字的文本文件。我想一次读两行,把它分配给变量

input.txt:

129260
129288
129356
129384
读取input.txt(一次两行)


放一个循环,直到整个文件被读取为止

input.txt
一次读取两行,将每行分配给一个变量,并显示变量的值:

$ while read -r val1 && read -r val2; do echo "val1=$val1 and val2=$val2"; done <input.txt
val1=129260 and val2=129288
val1=129356 and val2=129384

$while read-r val1和&read-r val2;执行echo“val1=$val1和val2=$val2”;完成如何将50个值分配给2个变量?仅使用最后2个值,添加它们,或使用50个变量?第一次读取失败,第二次读取成功的可能性不大,但在读取-r val1和读取-r val2时,最好将其写成
,以避免出现这种(病理性)情况。@williampersell谢谢。这是很好的防守编程。答案更新为使用
&&
$ while read -r val1 && read -r val2; do echo "val1=$val1 and val2=$val2"; done <input.txt
val1=129260 and val2=129288
val1=129356 and val2=129384