gpt4 book ai didi

bash - 棘手的 bash 尝试使用不同的参数运行程序

转载 作者:行者123 更新时间:2023-11-29 09:20:22 24 4
gpt4 key购买 nike

我想使用不同的参数多次运行一个程序,然后将结果通过管道传输到名称中使用参数的文件中。这是我想出的:

#!/bin/bash
for i in 'seq 1 5';
do
for j in 'seq 1 8';
do
for m in 'seq 1 8';
do
./program -s i -v j -k m ../input_files/input_file1.txt < results_ijm.txt
done
done
done

这行不通。它说“没有文件 results_ijm.txt”......我知道 - 我希望它隐式创建这个文件。

否则,我也怀疑它是否会在文件名中正确分配 ijm - 它怎么知道我是想要变量 ijm.... 还是只需要字符?这是模棱两可的。

最佳答案

  • 您必须使用变量$i$j$m等。
  • 最好在 BASH 中使用 ((...)) 结构。

在 BASH 中你可以做:

#!/bin/bash
for ((i=1; i<=5; i++)); do
for ((j=1; h<=8; j++)); do
for ((m=1; m<=8; m++)); do
./program -s $i -v $j -k $m ../input_files/input_file1.txt > "results_${i}${j}${m}.txt"
done
done
done

关于bash - 棘手的 bash 尝试使用不同的参数运行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26286958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com