如何使用bash脚本迭代数字文件名?

时间:2017-04-05 07:44:13

标签: bash

所以我有一个bash脚本,我试图用它来为一个简单的程序运行多个输入/输出测试集。这些文件名为input1.txt,input2.txt,expected1.txt,expected2.txt等。目前我正在尝试

#!/bin/bash

cat /dev/null > ../log
for i in {1..5}
do
    java VanRentalSystem ../input\$i.txt >> ../log;
    diff ../log ../expected\$i.txt
done

这不起作用,因为bash没有将变量'i'转换为正确的数字。 假设所有文件都在当前目录之上的目录中,我应该如何重写循环内的两行?

1 个答案:

答案 0 :(得分:0)

试试这个:

#!/bin/bash

cat /dev/null > ../log
for i in {1..5}
do
    java VanRentalSystem ../input$i.txt >> ../log;
    diff ../log ../expected$i.txt
done