在bash脚本中更改for循环中的字符以多次执行程序

时间:2017-04-14 17:05:37

标签: bash for-loop

我是bash脚本的新手,想要拨打22个程序。 22个不同的文件。

文件名如下所示:filename_chr1_test filename_chr2_test filename_chr3_test ... filename_chr22_test

到目前为止这是我的for循环:

#!/bin/bash

for chr_num in {1:22}:
    do
       /path/to/plink --file filename_chr$chr_num_test --exampletest
    done

出于某种原因,我收到了错误消息。我不确定为什么。有人可以帮我调试吗?

感谢您的帮助!!

2 个答案:

答案 0 :(得分:3)

我建议:

#!/bin/bash

for chr_num in {1..22}; do
  /path/to/plink --file filename_chr${chr_num}_test --exampletest
done

答案 1 :(得分:3)

不要使用支撑扩张;使用C风格的for循环:

for((i=1;i<=22;i++)); do
  /path/to/plink --file filename_chr${chr_num}_test --exampletest
done

这并不需要立即在内存中扩展整个序列(对于短序列来说并不是很重要)。