在我的脚本中,我使用了如下的for循环
for i in {1,2}; do
for j in {18,35}; do
<some_command> -o min$j.xvg -ndist 3 -xvg none -reference $i -select 0
done
done
但是如果我分解命令,它会像下面这样
<some_command> -o min18.xvg -ndist 3 -xvg none -reference 1 -select 0
<some_command> -o min35.xvg -ndist 3 -xvg none -reference 1 -select 0
当然,它也会为-reference 2做同样的事情
但是我想这样做
<some_command> -o min18.xvg -ndist 3 -xvg none -reference 1 -select 0
<some_command> -o min35.xvg -ndist 3 -xvg none -reference 2 -select 0
因此,这意味着将if i=1 it should only give j=18
作为输出,但这for循环的作用类似于for i=1 do j=18,35
我想我在这里错过了非常基本的小事情。有什么技巧可以使它整洁,以便对于特定的i值,它只会选择特定的j值?
我正在使用问题Looping over pairs of values in bash
的第一个答案来尝试这种方法for i in 1 2 do
for j in 18 35 do
<some command> -o min"${j}".xvg -ndist 3 -xvg none -reference "${i}" -select 0
done
done
它给出了类似f or j in 18 35 do'
的错误