我有一个脚本,其中函数的sql输出是多行(一列),我试图循环遍历那些for循环函数,但似乎无法让它工作......
rslt=sqlquery {}
echo $rslt
1
2
3
4
for i in $rslt
do
echo "lvl$i"
done
但是对于循环...我一直回来四次
lvl1
2
3
4
我希望得到这个......
lvl1
lvl2
lvl3
lvl4
我该怎么做?
答案 0 :(得分:1)
要遍历ksh
数组中的值,您需要使用${array[@]}
语法:
$ set -A rslt 1 2 3 4
$ for i in ${rslt[@]}
> do
> echo "lvl$i"
> done
lvl1
lvl2
lvl3
lvl4
答案 1 :(得分:1)
为了在您的脚本中获得所需的结果,您需要在双引号$rslt
下使用"
。这将确保您不会丢失您期望在循环中获得的结果中的新行\n
。
for i in "$rslt"
do
echo "lvl$i"
done