2016-09-24 58 views
0

我尝试编写脚本。它问我要多少“什么”?我刚才也回答了一些像10bash脚本。运行命令与计数的数字和名称

#!/bin/bash 
echo -n "Please enter some input: " 
read input 

现在我想执行一个命令10次包括从001到010 例如数字我得到正确的数字有:

seq -f "%03g" 1 $input 

,但我怎么能执行命令现在使用这个号码等:

command anyname-001 -some -parameter 
command anyname-002 -some -parameter 
command anyname-003 -some -parameter 

....

thanx的帮助

+0

请看看:当有人回答我的问题,我应该怎么办?](http://stackoverflow.com/help/someone-answers) – Cyrus

回答

1

随着GNU的bash:

for ((i=1;i<=$input;i++)); do 
    printf -v number "%03d" "$i" 
    echo command anyname-${number} -some -parameter 
done 

如果一切正常,删除echo

+0

比你!运行良好! – nbx

1

只需在范围内使用for循环即可。这应该够了吧。

#!/bin/bash 
echo -n "Please enter some input: " 
read input 

for number in `seq -f "%03g" 1 $input` 
do 
    command anyname-${number} -some -parameter 
done 
+0

比你!运行良好! – nbx

1

一号线(当然,正式二):

#!/bin/bash 
printf 'command anyname-%03d -some -parameter\n' $(seq $1) 

调用脚本:

$ script 10 
command anyname-001 -some -parameter 
command anyname-002 -some -parameter 
command anyname-003 -some -parameter 
command anyname-004 -some -parameter 
command anyname-005 -some -parameter 
command anyname-006 -some -parameter 
command anyname-007 -some -parameter 
command anyname-008 -some -parameter 
command anyname-009 -some -parameter 
command anyname-010 -some -parameter