目录
一、练习判断是练习管理员还是普通用户
1.1、分析
1.2、练习编辑脚本文件
1.3、练习测试
二、练习判断bash用户
2.1、练习分析
2.2、练习编辑脚本文件
2.3、练习测试
三、练习判断指定文件中是练习否有空白行
3.1、分析
3.2、练习编辑脚本文件
3.3、练习测试
四、练习判断指定用户UID与GID是练习否一样
4.1、分析
4.2、练习编辑脚本文件
4.3、测试
五、两个整数比较大小
5.1、分析
5.2、编写脚本文件
5.3、测试
六、判断当前主机的CPU生产商
6.1、分析
6.2、编辑脚本文件
6.3、测试
七、指定压缩格式并指定压缩到的目录
7.1、分析
7.2、编辑脚本文件
7.3、测试
一、判断是管理员还是普通用户
需求:给定一个用户,如果其UID为0,就显示此为管理员;否则,就显示其为普通用户;
1.1、分析
给定一个用户,要判断用户是否存在,当用户存在才能判断其uid,再用uid进行比较。
1.2、编辑脚本文件
内容为:
注意:
这是代表的意思是从位置4之后开始截取,截取长度为1。
因为管理员用户uid为0,只有一位,所以可以偷懒!
用此方法判断uid是否等于gid用此方法就有bug
例如:
1.3、测试
二、判断bash用户
需求:判断当前系统上是否有用户的默认shell为bash,如果有,就显示有多少个这类用户;否则,就显示没有这类用户;
2.1、分析
判断当前系统上是否有用户的默认shell为bash,可以用grep过滤一下/etc/passwd文件
判断是否有此类用户,可以用$?,看上一条命令执行是否成功来判断,0代表有,1代表没有。
2.2、编辑脚本文件
内容为:
2.3、测试
三、判断指定文件中是否有空白行
需求:给定一个文件,比如/etc/file3,判断这个文件中是否有空白行。如果有,则显示其空白行数;否则,显示没有空白行。
3.1、分析
首先应该判断给定的文件是否存在
其次判断文件是否为空
再判断这个文件中是否有空白行,
3.2、编辑脚本文件
内容为:
3.3、测试
/etc/file3
四、判断指定用户UID与GID是否一样
需求:给定一个用户,判断其UID与GID是否一样,如果一样,就显示此用户为“good guy”;否则,就显示此用户为“bad guy”。
4.1、分析
首先要判断用户是否存在
其次在要获取uid和gid
最后进行比较
4.2、编辑脚本文件
内容为:
4.3、测试
五、两个整数比较大小
5.1、分析
(1)首先要输入两个数
(2)其次输入的两个数是否都是整数
(3)最后进行比较
5.2、编写脚本文件
内容为:
5.3、测试
六、判断当前主机的CPU生产商
需求:判断当前主机的CPU生产商,其信息在/proc/cpuinfo文件中vendor_id一行中。 如果其生产商为GenuineIntel,就显示其为Intel公司; 如果其生产商为AuthenticAMD,就显示其为AMD公司; 否则,就显示无法识别;
6.1、分析
(1)判断当前主机的CPU生产商
grep vendor_id /proc/cpuinfo | cut -d : -f 2
前面还有个空格,要删除才行
grep vendor_id /proc/cpuinfo | cut -d : -f 2 | tr -d " "
(2)再判断生产商
6.2、编辑脚本文件
内容为:
6.3、测试
七、指定压缩格式并指定压缩到的目录
需求:
写一个脚本,完成如下功能 传递一个参数给脚本,此参数为gzip、bzip2或者xz三者之一;
(1) 如果参数1的值为gzip,则使用tar和gzip归档压缩/etc目录至/backups目录中,并命名为/file1/backups/etc-20160613.tar.gz; tar -czvf /backups/etc-20160613.tar.gz /etc/*
(2) 如果参数1的值为bzip2,则使用tar和bzip2归档压缩/etc目录至/backups目录中,并命名为/file1/backups/etc-20160613.tar.bz2;
(3) 如果参数1的值为xz,则使用tar和xz归档压缩/etc目录至/backups目录中,并命名为/file1/backups/etc-20160613.tar.xz;
(4) 其它任意值,则显示错误压缩工具,并执行非正常退出;
7.1、分析
(1)首先要打印出可以选项
(2)输入选项
(3)执行对应语句
7.2、编辑脚本文件
内容为: