博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell循环
阅读量:4048 次
发布时间:2019-05-25

本文共 1146 字,大约阅读时间需要 3 分钟。

一、while

循环输出10次

#!/bin/bashi=0while((i<10))do	((i++))	echo $idone

for循环1

#!/bin/bash#此处i=1是为了证明for的括号会自动识别变量,所以会从1输出到9i=1for((i;i<10;i++))do	echo $idone

for循环2

#!/bin/bash#循环1-20for i in {
1..20}do echo $idone

for循环3

#!/bin/bash#循环字符串today=`date +"%Y%m%d"`for i in {
asd,qwe,zxc,1,2,3,$today}do echo $idone

输出结果:

asd
qwe
zxc
1
2
3
20210518

for循环5

arr=(1 2 3 asd qwe zxc)for i in ${arr[@]}do	echo $idone

for循环6命令行传入多个参数给数组

当 $* 和 $@ 不被双引号" "包围时,它们之间没有任何区别,都是将接收到的每个参数看做一份数据,彼此之间以空格来分隔。

但是当它们被双引号" "包含时,就会有区别了:

" ∗ " 会 将 所 有 的 参 数 从 整 体 上 看 做 一 份 数 据 , 而 不 是 把 每 个 参 数 都 看 做 一 份 数 据 。 " *"会将所有的参数从整体上看做一份数据,而不是把每个参数都看做一份数据。 " ""@"仍然将每个参数都看作一份数据,彼此之间是独立的。

#!/bin/bash#如果是不加双引号或者是$*的话传入参数只作为一整串字符串for i in "$@"do	echo $idone#或者↓#arr=$@#for i in ${arr[@]}#do#	$i#done#运行时候执行./test.sh 1 2 3#输出123

for循环7

#!/bin/bashcd /homefor i in `find / -type f -name "*.log"`do	echo $idone

案例1:

在这里插入图片描述

案例2:

用两种循环将文件读入

#!/bin/bash#while版while read Filedo	echo $Filedone < /home/host_change.txt#for版for i in `cat /home/host_change.txt`do	echo $idone

案例3

#!/bin/basharr=(	time=`date`	if=`ifconfig`	mem=`free`)cat >/home/test/info.txt<

转载地址:http://iffci.baihongyu.com/

你可能感兴趣的文章
SQL 多表联合查询
查看>>
Visual Studio 2010:C++0x新特性
查看>>
drwtsn32.exe和adplus.vbs进行dump文件抓取
查看>>
cppcheck c++静态代码检查
查看>>
在C++中使用Lua
查看>>
一些socket的编程经验
查看>>
socket编程中select的使用
查看>>
GitHub 万星推荐:黑客成长技术清单
查看>>
可以在线C++编译的工具站点
查看>>
关于无人驾驶的过去、现在以及未来,看这篇文章就够了!
查看>>
所谓的进步和提升,就是完成认知升级
查看>>
为什么读了很多书,却学不到什么东西?
查看>>
长文干货:如何轻松应对工作中最棘手的13种场景?
查看>>
如何用好碎片化时间,让思维更有效率?
查看>>
No.147 - LeetCode1108
查看>>
No.174 - LeetCode1305 - 合并两个搜索树
查看>>
No.175 - LeetCode1306
查看>>
No.176 - LeetCode1309
查看>>
No.182 - LeetCode1325 - C指针的魅力
查看>>
mysql:sql alter database修改数据库字符集
查看>>