在bash脚本中更改for循环中的字符以多次执行程序
我不熟悉bash脚本,想调用一个程序22次。22个不同的文件 文件名看起来像这样:filename\u chr1\u test filename\u chr2\u test filename\u chr3\u test。。。文件名\u chr22\u测试 这是到目前为止我的for循环:在bash脚本中更改for循环中的字符以多次执行程序,bash,for-loop,Bash,For Loop,我不熟悉bash脚本,想调用一个程序22次。22个不同的文件 文件名看起来像这样:filename\u chr1\u test filename\u chr2\u test filename\u chr3\u test。。。文件名\u chr22\u测试 这是到目前为止我的for循环: #!/bin/bash for chr_num in {1:22}: do /path/to/plink --file filename_chr$chr_num_test --exampl
#!/bin/bash
for chr_num in {1:22}:
do
/path/to/plink --file filename_chr$chr_num_test --exampletest
done
不知什么原因,我又犯了一个错误。我不太清楚为什么。有人能帮我调试吗
谢谢你的帮助 我建议:
#!/bin/bash
for chr_num in {1..22}; do
/path/to/plink --file filename_chr${chr_num}_test --exampletest
done
我建议:
#!/bin/bash
for chr_num in {1..22}; do
/path/to/plink --file filename_chr${chr_num}_test --exampletest
done
不要使用支架扩展;对循环使用C样式的
:
for((i=1;i<=22;i++)); do
/path/to/plink --file filename_chr${chr_num}_test --exampletest
done
for((i=1;i不使用大括号展开;使用C型for
循环:
for((i=1;i<=22;i++)); do
/path/to/plink --file filename_chr${chr_num}_test --exampletest
done
for((i=1;iyou必须发布一个明确的问题。1:对于{1..22}2中的chr num:Use${chr\u num}而不是$chr\u num,以便解释器能够正常工作。@bradbles Hi brad.OH!我是否在for循环语句中包含()周围的chr\u num,以及在其中列出文件名?哦,它是“!!/bin/bash”请看一看:你必须提出一个明确的问题。1:对于{1..22}中的chr_num,2:使用${chr_num}而不是$chr_num,这样解释器才能正常工作。@BradBales Hi brad.OH!我是否在for循环语句中chr_num周围包括()以及在我列出文件名的地方?噢,它是“#!/bin/bash”请看一看:我建议用chr_num
替换三个I
,或者用I
替换一个chr_num
。谢谢@chepner-使用C型循环支架扩展的动机是什么?@Sheila主要的好处是你不必硬编码数字。你可以为((i=1;iI建议将三个i
替换为chr_num
,或将一个chr_num
替换为i
。谢谢@chepner-使用C型循环支架扩展的动机是什么?@Sheila主要的好处是您不必硬编码数字。您可以为((i=1;i)做n=42;)