Linux for循环函数在.bashrc中

时间:2016-07-24 04:52:04

标签: linux bash for-loop

我在〜/ .bashrc中设置了以下别名。它从连接到服务器的某些传感器打印数据。我想将其压缩为for循环,但无法使循环成功运行。我工作的非循环语法如下。 vd是此服务器上的可执行文件,用于打印数据。在这里,我有参数从特定传感器-n5打印5行数据-s ${scylpres[n]},然后过滤输出,因此它只打印带有","的行。分隔符cut -d',' -s -f1-

scylpres=($(eproms | grep -i 'trtl' | grep -i 'cylinder pressure' | cut -d',' -f3));
alias cylpres='vd -n5 -s ${scylpres[0]} | cut -d',' -s -f1- &&
vd -n5 -s ${scylpres[1]} | cut -d',' -s -f1- && vd -n5 -s ${scylpres[2]} | cut -d',' -s -f1- && vd -n5 -s ${scylpres[3]} | cut -d',' -s -f1- &&
vd -n5 -s ${scylpres[4]} | cut -d',' -s -f1- && vd -n5 -s ${scylpres[5]} | cut -d, -s -f1-';

我正在努力将其包装成for循环。我试过了:

i=0;
function cpres {
for i in {0..${scylpres[@]}}
do
vd -n5 -s ${scylpres${i}} | cut -d',' -s -f1-
done
};

并且:

start=0;
stop=${scylpres[@]};
function cpres {
for((i=$start;i<=$end;i++))
do
vd -n5 -s ${scylpres[$((i++))]} | cut -d',' -s -f1-
done
};

并尝试过两种版本的i调用。例如,${scylpres[$i]}${scylpres[$(i)]}${scylpres$[((i++))]} 但是,我所看到的只是我的命令行转到>

0 个答案:

没有答案