Mám program prog , který při volání z terminálu přebírá celočíselný argument, např.:
./prog 10
 Chtěl bych spustit prog s rozsahem hodnot, např. 10, 20, 30, ... . Existuje úhledný způsob, jak to udělat, kromě použití:
./prog 10 ; ./prog 20 ; ./prog 30 ; ....
Přijatá odpověď:
 Můžete použít jednoduchou smyčku for s Bash, Zsh nebo Ksh93.
 Následující funguje pouze od verze Bash 4 (2009), zsh 4.3.10 (2010) a ksh93r (2006) (ačkoli {x..y} syntaxe pochází z zsh (v 2.6-beta4 v roce 1995).
#!/bin/bash
# since Bash v4
for i in {10..100..10}
do
     $path_of_prog/prog $i
done
 {$start..$end..$step} část říká, že $i je na začátku roven $start a $i přejde na $end .
 $step je částka, se kterou $i se bude každým krokem zvyšovat.
 Dostaneme tedy hodnoty 10 20 30 ... 100 pro $i .
Můžete to také napsat na jeden řádek pomocí
for i in {10..100..10}; do ./prog $i; done
 Pokud máte starší Bash a GNU seq je k dispozici, použijte následující řádky
#!/bin/bash
#only for pre Bash v4
for i in $(seq 10 10 100)
do
   $path_of_prog/prog $i
done
nebo jako jedna vložka
for i in $(seq 10 10 100);do ./prog $i; done
 (výše předpokládá, že jste neupravili $IFS proměnná).