我正在尝试从'plink1.9'程序中运行一个用于群体遗传学的命令,同时更改两个参数。
在下面的代码中,第一个参数i为1或100,第二个参数j为0.4或0.8。我希望这会生成四个不同的输出,每个输出都包含输出文件名中相应的输入参数值。
这是我的代码,它在“意外令牌附近'语法错误''''失败。
for i in 1 100
do
for j in 0.4 0.8
do
plink --bfile myfile \
--indep-pairwise ${i} 50 ${j} \
--out myfile_${i}_50_${j}_indep
done
done
如果有人对如何解决这个问题有任何建议,我会非常感激。我已经尝试了几种变体。理想情况下,我会通过循环运行多个命令,更改所有三个变量而不是两个变量,并且每个变量都有两个以上的可能值,但我会保持简单直到它起作用。
答案 0 :(得分:1)
这可能是因为您使用的是非Bash的默认shell。
请注意,您可以使用GNU Parallel:
来简化脚本parallel plink --bfile myfile \
--indep-pairwise {1} 50 {2} \
--out myfile_{1}_50_{2}_indep ::: 1 100 ::: 0.4 0.8