1、经常在执行程序的时候希望传递不同的参数来测试,而这些参数就是某个目录里的所有文件,那么完全可以使用一些简单的bash命令来循环执行。比方说如下,我们就简单的写一个循环输出所有文件名的指令吧。
for f in $(ls .);do echo $f;done;
这个命令就是用f等于一个列表,那个列表就是ls .出来的结果,也就是当前目录所有的文件,然后do后面跟指令,如果你把echo换成你的程序,那么就是程序+一个参数,也就是某一个文件名,那么就会不停的循环执行这个程序,每一传得参数都是列表里的文件名,每一次都不一样,直到传完为止。
例如当前目录有a.jpg b.jpg两个文件,那么如果你有个程序是显示图片那么就相当于
./showpic a.jpg
./showpic b.jpg
两步
————————————————
版权声明:本文为CSDN博主「蒙特卡洛家的树」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011021773/article/details/79305627
2、很多时候想要执行某些命令,并且又不想写脚本,就想直接在终端里执行。
这个是非常常见的,比如cat echo ls 等命令,没必要再去写个shell或者python来执行。
但是遇到一些负责的逻辑就很麻烦了,最常见的就是循环。
在终端里写循环也可以用for和while。
输出1到9,9个数字的例子如下:
while写法
$ i=1; while((i<10)); do echo
(
(
i
)
)
;
i
=
((i)); i=
((i));i=((i))+1; done
1
2
3
4
5
6
7
8
9
for写法
$ for((i=1;i<10;i++)) do echo $((i)); done
1
2
3
4
5
6
7
8
9
需要死循环的时候while(true)即可
$ while (true) do echo something; done;
something
something
something
something
something
something
something
……
————————————————
版权声明:本文为CSDN博主「星辰旋风」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xingchenxuanfeng/article/details/81511029