当前位置: 首页 > news >正文

shell脚本练习及小总结

写4个脚本,要求如下

一.给定一个用户:
1、如果其UID为0,就显示此为管理员;
2、否则,就显示其为普通用户;

vim     .sh 结尾的文件

 修改username 测试不同用户

 二.断当前系统上是否有用户的默认shell为bash;
如果有,就显示有多少个这类用户;否则,就显示没有这类用户;

 

三.给定一个文件,比如/etc/inittab
判断这个文件中是否有空白行;
如果有,则显示其空白行数;否则,显示没有空白行。


四.给定一个用户,判断其UID与GID是否一样
如果一样,就显示此用户为“good guy”;否则,就显示此用户为“bad guy”

 

 拓展

字符串运算符:
$  检测字符串是否为空,不为空返回 true。
=  检测两个字符串是否相等,相等返回 true。
!= 检测两个字符串是否不相等,不相等返回 true。
-z 检测字符串长度是否为0,为0返回 true。
-n 检测字符串长度是否不为 0,不为 0 返回 true
关系运算符
-eq   检测两个数是否相等,相等返回 true。              (equal)
-ne   检测两个数是否不相等,不相等返回 true。          (unequal)
-gt   检测左边的数是否大于右边的,如果是,则返回 true。 (greater than)
-lt   检测左边的数是否小于右边的,如果是,则返回 true。 (less than)
-ge   检测左边的数是否大于等于右边的,如果是,则返回 true。
-le   检测左边的数是否小于等于右边的,如果是,则返回 true。
文件测试符
-r  检测文件是否可读,如果是,则返回 true。
-w  检测文件是否可写,如果是,则返回 true。
-x  检测文件是否可执行,如果是,则返回 true。
-s  检测文件是否为空(文件大小是否大于0),不为空返回 true。
-e  检测文件(包括目录)是否存在,如果是,则返回 true。
-d  检测文件是否是目录,如果是,则返回 true。
-f  检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。
逻辑运算符
&&  是逻辑“与”,只有当前面语句执行成功的时候才会执行后面的命令。

||  是逻辑“或”,只有当前面语句执行失败的时候才会执行后面的命令。

!   是逻辑“非”,代表对逻辑测试结果取反值,之前是正确则变错误,错误则变正确。

相关文章:

  • 青岛大学数据结构与算法——第2章
  • tf.math
  • GBase 8c向表中插入数据
  • 想要软考,一般需要多少复习时间?
  • 一起误删cni0虚拟网卡引发的k8s事故
  • QT软件开发-基于FFMPEG设计录屏与rtsp、rtmp推流软件(支持桌面与摄像头)(四)
  • redux中间件函数
  • 【前端面试知识题】- 4.1 JavaScript
  • 客户端架构
  • iOS Xcode 14 创建新项目Pod init及Pod install 报错
  • 金融行业借力泛微今承达,合同统一数字化管理、风险全过程把控
  • 计算机视觉项目实战-基于特征点匹配的图像拼接
  • 软件过程与建模学习之:Individuals,Motivation and Teams
  • 【某南方·高中梦校面试】
  • 三分钟细数几款可视化前端开发工具
  • 【技术性】Search知识
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • C语言笔记(第一章:C语言编程)
  • ECS应用管理最佳实践
  • HTTP--网络协议分层,http历史(二)
  • javascript从右向左截取指定位数字符的3种方法
  • KMP算法及优化
  • Magento 1.x 中文订单打印乱码
  • Promise初体验
  • uva 10370 Above Average
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 给github项目添加CI badge
  • 关于Java中分层中遇到的一些问题
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 实习面试笔记
  • 使用权重正则化较少模型过拟合
  • 双管齐下,VMware的容器新战略
  • 怎么将电脑中的声音录制成WAV格式
  • 【干货分享】dos命令大全
  • MPAndroidChart 教程:Y轴 YAxis
  • #HarmonyOS:软件安装window和mac预览Hello World
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (03)光刻——半导体电路的绘制
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (三)c52学习之旅-点亮LED灯
  • (十)c52学习之旅-定时器实验
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)母版页和相对路径
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .NET Core WebAPI中封装Swagger配置
  • .net 流——流的类型体系简单介绍
  • .NET 命令行参数包含应用程序路径吗?
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET多线程执行函数
  • .Net多线程总结
  • .NET企业级应用架构设计系列之开场白
  • .sdf和.msp文件读取
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?