2

我有一个名为 Test 的 C 应用程序。测试采用单个 int 参数。我想用许多不同的参数运行测试,所以我制作了以下 bash 脚本:

#!/bin/bash
for i in {0..5}
do
    ./Test "$i" 
done

但是,这会执行./Test "$i"而不是./Test 0, ./Test 1等。将其更改为./Test $i仅执行./Test $i5 次。我做错了什么?

4

2 回答 2

1
for i in {0..5}
do
    ./Test " $i" 
done

或者

for i in {1..5}; do exec "./Test $i" ; done
于 2013-01-26T08:16:40.943 回答
1

尝试

#!/bin/bash
for i in `seq 0 5`
do
    ./Test $i 
done

要在 bash 中创建序列,您可以使用seq,它的优点是可以在任何与 bourne 兼容的 shell 中工作(也就是说,它可以在任何地方seq工作,因为它是一个外部程序,它是循环变得更便携)。for

是的,它在./Test调用方面没有区别,但它提供了一个在修复之前拖延的尊重./Test理由。

于 2013-01-26T08:24:29.860 回答