Shell脚本学习三

【shell脚本中的循环】
Shell脚本中也算是一门简易的编程语言了,当然循环是不能缺少的。常用到的循环有
for循环和while循环。下面就分别介绍一下两种循环的结构。

image

脚本中的seq15表示从1到5的一个序列。你可以直接运行这个命令试下。脚本执行结果
为:

image

通过这个脚本就可以看到for循环的基本结构:
for 变量名in 循环的条件;do
    command
done

image

循环的条件那一部分也可以写成这样的形式,中间用空格隔开即可。你也可以试试,foriin
`ls`;doecho$i;done和foriin`cattest.txt`;doecho$i;done

image

再来看看这个while循环,基本格式为:
while 条件;do
     command
done
脚本的执行结果为

image

另外你可以把循环条件忽略掉,笔者常常这样写监控脚本。
while:;do
     command
done

【shell脚本中的函数】
如果你学过开发,肯定知道函数的作用。如果你是刚刚接触到这个概念的话,也没有关
系,其实很好理解的。函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个
名字,当用到这段代码时直接调用这个小单元的名字即可。有时候脚本中的某段代总是重复
使用,如果写成函数,每次用到时直接用函数名代替即可,这样就节省了时间还节省了空间。

image

fun.sh 中的sum() 为自定义的函数,在shell脚本中要用
function 函数名(){
command
}
这样的格式去定义函数。
上个脚本执行过程如下:

image

有一点笔者要提醒你一下,在shell脚本中,函数一定要写在最前面,不能出现在中间或者
最后,因为函数是要被调用的,如果还没有出现就被调用,肯定是会出错的。
Shell脚本大体上就介绍这么多了,笔者所举的例子都是最基础的,所以即使你把所有
例子完全掌握也不代表你的shell脚本编写能力有多么好。所以剩下的日子里你尽量要多练
习,多写脚本,你写的脚本越多,你的能力就越强。希望你能够找专门介绍shell脚本的书
籍深入的去研究一下它。随后笔者将给你留几个shell脚本的练习题,你最好不要偷懒。

 

1.编写shell脚本,计算1-100的和;
2.编写shell脚本,要求输入一个数字,然后计算出从1到输入数字的和,要求,如果输入
的数字小于1,则重新输入,直到输入正确的数字为止;
3.编写shell脚本,把/root/目录下的所有目录(只需要一级)拷贝到/tmp/目录下;
4.编写shell脚本,批量建立用户user_00,user_01,…,user_100并且所有用户同属于users
组;
5.编写shell脚本,截取文件test.log中包含关键词’abc’的行中的第一列(假设分隔符为”:”),
然后把截取的数字排序(假设第一列为数字),然后打印出重复次数超过10次的列;
6.编写shell脚本,判断输入的IP是否正确(IP的规则是,n1.n2.n3.n4,其中1<n1<255,
0<n2<255,0<n3<255,0<n4<255)。

image

image

这个必须在/root下执行否则找不到文件

image

image

image

image

image

你可能感兴趣的:(Shell脚本学习三)