首页 > 解决方案 > 基于 bash 脚本中的浮点矩阵的循环 (Linux/Ubuntu)

问题描述

我目前正在尝试基于 bash 脚本中的浮点矩阵运行 FOR 循环。如果矩阵 (iearrayName) 仅包含整数值,则脚本运行良好,但对于浮点值完全失败(如下面的代码中所列)。我知道 bash 脚本不能很好地处理浮点数,并且需要| bc注册浮点数。有谁知道如何把它放在正确的语法中,以便 Ubuntu 读取矩阵中的浮点值?

#!/bin/bash

arrayName=(0.373400000000000    14.5667000000000    16.3333000000000    2.32480000000000)

for i in ${arrayName[@]}
do
    gmx trjconv -s nvt_20ns.tpr -f nvt_20ns.trr -n 2Y3J_solv.ndx -o nvt_20ns_$(echo $i| bc).trr  -pbc mol -center -b $i -e $i  <<EOF
1 0 
EOF
done

标签: linuxbashfor-loopubuntu

解决方案


推荐阅读