我有一个变量,其中包含我想要循环的值列表。带注释的打印值

时间:2016-09-15 17:17:51

标签: bash comments

使用#!/ bin / bash

variable
----------
abc123
abc1245
abc2390

我想做以下事情:

for r in "$variable" ; do
 if [ [ "$variable" != ""] ] ; then
     echo "$r OK"
   continue
 fi
done 

我想用注释输出值(即每一行)," OK"如下图所示

abc123 OK
abc1245 OK
abc2390 OK

但是,上面的脚本输出了这个

abc123
abc1245
abc2390 OK

思想?

1 个答案:

答案 0 :(得分:0)

几乎!

取自$variable的引号,否则将其视为单个值:

for r in $variable ; do
  if [ "$r" != "" ] ; then
    echo "$r OK"
  fi
done

(另外,您的if每次都在检查$variable而不是$r,并且有一个多余的continue。)

这是一个更简单的方法:

echo "$variable" | awk '/./{print $0, "OK"}'

打印每个非空白行加上OK之后。