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

标签 linux bash for-loop

我有一个类似于下面的循环:

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'

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

最佳答案

这真的很简单,您只需将整个循环的输出重定向到一个变量(如果您只想按说明使用一个变量):

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

你的例子:

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

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

关于linux - 将 for 循环结果存储为 bash 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36223802/

相关文章:

linux - 找不到包 ia322stdc++6b32

java - 如何从eclipse windows执行java程序到Linux服务器

bash - 计算一列中具有特定符号的行数(来自 grep 的结果)?

python - 在 python 中使用 for 循环添加新的 excel 工作表

python - 使用 for 循环获取行数

linux - 有没有办法找到GCP VM启动脚本返回代码

linux - docker -libudev : udev_has_devtmpfs: name_to_handle_at on/dev: Operation not permitted

linux - i3blocks (i3wm) - 使用 sudo 命令

linux - bash 内置命令 "select"无法通过 shell 脚本中的管道工作

javascript - AngularJS 通过 for 循环进行 HTTP post 调用