将for循环结果存储为bash中的变量

托尼:

我有一个类似于以下内容的循环:

for time in ${seconds_list}; do
    echo "scale=2; (${cur_time}-${time})/3600" | bc
done

当然,我可以将结果“回显”到文件中并使用它来完成,但是我认为一种更优雅的方法是将所有for循环结果存储在一个变量中,以便以后使用。包含所有结果的变量必须看起来像这样:

var='30.25
16.15
64.40
29.80'

有没有简单的方法可以实现这一目标?

Stefano d'Antonio:

这真的很容易,您可以将整个循环的输出重定向到一个变量(如果您只想使用一个声明的变量):

VARIABLE=$(for time in ...; do ...; done)

你的例子:

var=$(for time in ${seconds_list}; do
          echo "scale=2; (${cur_time}-${time})/3600" | bc
      done)

只需将您的代码包含在$()中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章