shell脚本第二天(基础知识)

本文介绍了Shell脚本的基础知识,包括从/etc/inittab文件中取行、列出所有用户的唯一shell、检查文件行数、查找以特定字符串开头的文件、用户管理以及编写两个Shell程序test1和test2,分别用于显示目录信息和执行加法运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、题目

1、取出/etc/inittab文件的第6行;
2、取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示; 使用cut、sort结合管道实现
3、如果/var/log/messages文件的行数大于100,就显示好大的文件
4、显示/etc目录下所有以pa开头的文件,并统计其个数
5、如果用户hadoop不存在就添加,否则显示用户已存在
6、编写一个 Shell 程序 test1,程序执行时从键盘读入一个目录名,然后 显示这个目录下所有文件的信息
7、编写一个 Shell 程序 test2,从键盘读入 x、y 的值,然后做加法运算,最后输出结果

二、过程

1. 取出/etc/inittab文件的第6行;

在这里插入图片描述
在这里插入图片描述

2.取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示; 使用cut、sort结合管道实现

在这里插入图片描述

[root@localhost ~]# cut -d: -f7 /etc/passwd | sort -u  使用cut剪切,以:作为分隔符,从第7个开始剪切,最后使用sort -u选项进行去重

在这里插入图片描述

3.如果/var/log/messages文件的行数大于100,就显示好大的文件
[root@localhost ~]# [ `wc -l <  /var/log/messages` -gt 100 ] && echo "好大的文件" 这里需要使用[]括起来,并且需要以空格隔开,否则会出现语法错误,因为wc为命令,也需要使用``括起来,并且使用输入重定向的方式,这样才能统计该文件的行数,最后使用-gt比较大小,如果成立就输出好大的文件,不成立就不做任何操作

在这里插入图片描述

4.显示/etc目录下所有以pa开头的文件,并统计其个数
[root@localhost ~]# find /etc/ -name pa*  使用find先查找文件,没要求是什么文件,所有这样显示的是以pa开头的所有文件

在这里插入图片描述

[root@localhost ~]# find /etc/ -name pa*  | wc -l 因为是以行显示,有多少行就有多少文件

在这里插入图片描述

5.如果用户hadoop不存在就添加,否则显示用户已存在

在这里插入图片描述

先创建一个shell脚本文件,进入编辑模式

[root@localhost ~]# touch user.sh
[root@localhost ~]# vim user.sh

在这里插入图片描述
在这里插入图片描述

6.编写一个 Shell 程序 test1,程序执行时从键盘读入一个目录名,然后 显示这个目录下所有文件的信息

先创建一个目录,并且在里面创建3个文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.编写一个 Shell 程序 test2,从键盘读入 x、y 的值,然后做加法运算,最后输出结果

先创建文件

[root@localhost ~]# touch test2.sh
[root@localhost ~]# vim test2.sh

在这里插入图片描述
在这里插入图片描述
此方法有许多bug,需要自行改进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值