我有一个名为 Test 的 C 应用程序。测试采用单个 int 参数。我想用许多不同的参数运行测试,所以我制作了以下 bash 脚本:
#!/bin/bash
for i in {0..5}
do
./Test "$i"
done
但是,这会执行./Test "$i"
而不是./Test 0, ./Test 1
等。将其更改为./Test $i
仅执行./Test $i
5 次。我做错了什么?
for i in {0..5}
do
./Test " $i"
done
或者
for i in {1..5}; do exec "./Test $i" ; done
尝试
#!/bin/bash
for i in `seq 0 5`
do
./Test $i
done
要在 bash 中创建序列,您可以使用seq
,它的优点是可以在任何与 bourne 兼容的 shell 中工作(也就是说,它可以在任何地方seq
工作,因为它是一个外部程序,它是循环变得更便携)。for
是的,它在./Test
调用方面没有区别,但它提供了一个在修复之前拖延的尊重./Test
理由。