![Ubuntu,使用shell脚本循环C程序](https://linux22.com/image/143613/Ubuntu%EF%BC%8C%E4%BD%BF%E7%94%A8shell%E8%84%9A%E6%9C%AC%E5%BE%AA%E7%8E%AFC%E7%A8%8B%E5%BA%8F.png)
./myProgram 1
我在目录中有一个 C 程序(其中 1 是固定参数)
gianni@mylinux:~/myWork/myApplication$ ./myProgram
我希望使用循环运行这个 C 程序 100 次,插入一个非常不优雅的解决方案来复制gianni@mylinux:~/myWork/myApplication$ ./myProgram
shell 脚本中的行 100 次
答案1
在命令行中写入:
i=0; while [ $((i+=1)) -le 100 ]; do ./myProgram 1; done
假设您的 IFS 中没有数字,或者只是引用为“$((i+=1))”
或者(使用 ksh、bash、zsh)
for i in {1..100}; do ./myProgram 1; done
答案2
使用以下脚本可以轻松完成此操作:
#!/bin/sh
for i in $(seq 1 100); do
./myProgram 1
done
或者使用单行版本:
for i in $(seq 1 100); do ./myProgram 1; done
答案3
在zsh
外壳中:
repeat 100 do ./myProgram 1; done
或者
repeat 100 do
./myProgram 1
done
该repeat
循环具有以下通用形式:
repeat word do list done
whereword
被扩展并被视为算术表达式,它告诉 shell 要运行多少次迭代,wherelist
是每次迭代中应运行的命令列表(命令列表始终由命令终止符终止,例如;
或换行符)。
从bash
:
zsh -c 'repeat 100 do ./myProgram 1; done'