bash逐行读取变量
如题,从变量中逐行读取的方法
该方法由于使用了管道,在循环内给变量的赋值无法传输到外部。
a=123 echo "$result" | while read line do echo $line echo "xxxxxxxxxxx" a=456 # 赋值无效 done
下面的方法功能相同,但是可以对外面的变量赋值。
a=123 while read line do echo "LINE: '${line}'" a=456 # 赋值有效 done <<< "$x"
第三个方法: 设置变量IFS
#! /bin/bash lines=`cat 1` IFS='\n' for i in $lines do echo $i done