简单shell脚本编程示例

1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

3、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

4、编写脚本/root/bin/links.sh,显示正连接本主机的每个远程主机的IPv4地址和连接数,并按连接数从大到小排序

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

5、写一个脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第20用户的ID之和

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

6、写一个脚本/root/bin/sumspace.sh,传递两个文件路径作为参数给脚本,计算这两个文件中所有空白行之和

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

7、写一个脚本/root/bin/sumfile.sh,统计/etc, /var, /usr目录中共有多少个一级子目录和文件

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

8、写一个脚本/root/bin/argsnum.sh,接受一个文件路径作为参数;如果参数个数小于1,则提示用户“至少应该给一个参数”,并立即退出;如果参数个数不小于1,则显示第一个参数所指向的文件中的空白行数

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

9、写一个脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

10、chmod -rw /tmp/file1,编写脚本/root/bin/per.sh,判断当前用户对/tmp/fiile1文件是否不可读且不可写

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

11、编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统。

脚本nologin.sh:

简单shell脚本编程示例

脚本login.sh

简单shell脚本编程示例

12、写一个脚本/root/bin/hostping1.sh,接受一个主机的IPv4地址做为参数,先判断是否合格IP,否,提示IP格式不合法并退出,是,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

13、计算1+2+3+…+100的值

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

14、计算从脚本第一参数A开始,到第二个参数B的所有数字的总和,判断B是否大于A,否提示错误并

退出,是则计算之

脚本内容:

简单shell脚本编程示例

执行结果:

简单shell脚本编程示例

原创文章,作者:Groot,如若转载,请注明出处:http://www.178linux.com/34081

(8)
GrootGroot
上一篇 2016-08-15 09:26
下一篇 2016-08-15 09:26

相关推荐

  • 2016 10 19 第5天作业

    20161019第5天作业 软链接和硬链接的区别 硬链接 ①硬链接文件不能跨分区创建 ②一个硬链接文件的删除不影响其他链接的访问 ③链接文件指向的源文件被删除后,链接文件还能正常访问源文件的数据 ④硬链接的文件类型是 –  普通文件 ⑤硬链接和源文件的属性(大小,权限,时间戳,Inode号)相同 ⑥硬链接不能对目录创建 ⑦创建硬链接会增…

    Linux干货 2016-10-20
  • 【25期】Linux第一周学习知识小结

    1:设置Linux图形界面不用输入账号和密码直接登录系统 首先在图形化界面编辑文件:vi /etc/gdm/custom.conf 编辑如下图: 在[daemon]下添加两行代码: AutomaticLoginEnable=True // 自动登陆器用 AutomaticLogin=root   //登录账号root 2:free命令 在终端输入f…

    2017-07-15
  • 搭建路由环境

        五个虚拟机分别模拟三个路由器和两个主机,实现不同网段的主机之间的通信。 1.规定四个网段的ip地址:分别是192.168.1.0/24;192.168.2.0/24;192.168.3.0/24;192.168.4.0/24 2.三个路由器命名为R1、R2、R3。R1的两个网关地址为192.168.1.1和19…

    2017-08-20
  • N22-love cat 17周博客作业第2部分-构建一个LVS-DR模型的高性能集群

    题目: 搭建一个LVS-DR模型的高性能集群,并实现以下功能:       (1)、wordpress程序通过nfs共享给个个realserver;       (2)、后端realserver中的nginx和php分离; 第17周   第2部分 网…

    Linux干货 2016-08-15
  • python第二周

    #python数据结构(list) ## 分类 数值型:int、float、complex、bool 序列对象:字符串 str   列表  list   元组  tuple 键值对: 集合 set   字典 dict   ## 数字的处理函数 math.e  math.pi: 自如常数和π round():  四舍六入五去偶 floor():  取…

    Linux干货 2017-09-23
  • TIME_WAIT引起Cannot assign requested address报错

    1.  问题描述      有时候用redis客户端(php或者java客户端)连接Redis服务器,报错:“Cannot assign requested address。”      原因是客户端频繁的连接服务器,由于每次连接都在很短时间内结束,导致很多的TIME_WAIT。所以新的连…

    Linux干货 2016-03-09