5.4

练习:写一个脚本

判断当前系统上是否有用户的默认shell为bash;

如果有,就显示有多少个这类用户,否则,就显示没有这类用户

nano dd.sh

#!/bin/bash

#

grep "\<bash$" /etc/passwd &> /dev/null

RETVAL = $?

if [ $RETVAL -eq 0 ];then

USERS = `grep "\<bash$" /etc/passwd | wc -l`

echo "The shells of $USERS users is bash."

else

echo "No such user."

fi

练习:写一个脚本

判断当前系统上是否有用户的默认shell为bash

如果有,就显示其中一个的用户名,否则,就显示没有这类用户

nano dd.sh

#!/bin/bash

#

grep "\<bash$" /etc/passwd &> /dev/null

RETVAL = $?

if [ $RETVAL -eq 0 ];then

USERS = `grep "\<bash$" /etc/passwd | head -1 | cut -d: -f1`

echo "$USERS is one of such users"

else

echo "No such user."

fi

练习:写一个脚本

给定一个文件,比如/etc/inittab

判断这个文件中是否有空白行

如果有,则显示其空白行数,否则,显示没有空白行

#!/bin/bash

FILE = /etc/inittab

if grep "^$" $FILE &> /dev/null;then

echo "Total blank lines: `grep "^$" $FILE | wc -l`."

else

echo "No blank line."

fi

练习:写一个脚本

给定一个用户,判断其UID和GID是否一样

如果一样,就显示此用户为"good guy";否则,就显示此用户为"bad guy"

#! /bin/bash

USERNAME =user1

USERID = `id -u $USERNAME`

GROUPID =`id -g $USERNAME`

if[ $USERID -eq $GROUPID ];then

echo "good guy"

else

echo "bad guy"

fi

进一步要求:不使用id命令获得其id号

练习:编写一个脚本

给定一个用户,获取其密码警告期限:

而后判断用户最近一次修改密码时间距今天是否已经小于警告期限

提示:算术运算的方法$[$A-$B]:表示变量A的值减去变量B的值的结果

如果小于,则显示"Warning":否则,就显示"OK"

练习:写一个脚本

判读命令历史中历史命令的总条目是否大于1000;如果大于,则显示

"Some command will gone.";否则显示"ok"

shell中如何进行算术运算:

A = 3

B = 6

1 let 算术运算表达式

let C = $A + $B

2 $[算术运算表达式]

c = $[$A + $B]

3 $((算术运算表达式))

c = $(($A + $B))

4 expr命令运算表达式,表达式中各操作数及运算符之间要有空格,而且要

使用命令引用

c = `expr $A + $B`

本文转自飞行萌51CTO博客,原文链接:http://blog.51cto.com/8527508/1941156 ,如需转载请自行联系原作者

5.4shell编程3相关推荐

  1. Linux-Shell脚本编程-学习-4-Shell编程-操作数字-加减乘除计算

    对于任何一种编程语言都很重要的特性就是操作数字的能力,遗憾的是,对于shell脚本来说,这个过程比较麻烦,在shell脚本中有两种途径来进行数学运算操作. 1.expr 最开始的时候,shell提供了 ...

  2. linux云自动化运维,Liunx运维一线大神亲授 全新Linux云计算运维基础与Linux Shell自动化运维实战课程...

    Liunx运维一线大神亲授 全新Linux云计算运维基础与Linux Shell自动化运维实战课程 全新Linux云计算运维基础与Linux Shell自动化运维实战课程,由于国内一线大神亲自授课与教 ...

  3. 大数据-学习实践-1相关Linux

    大数据-学习实践-1相关Linux (大数据系列) 文章目录 大数据-学习实践-1相关Linux 1知识点 2具体内容 2.1安装.使用 2.2高级命令 2.2.1文件 2.2.2日期 2.2.3进程 ...

  4. shell编程4-shell嵌套循环及随机数

    shell编程4-shell嵌套循环及随机数 一.随机数 二.嵌套循环 三.总结 1.变量定义 2.循环语句 3.影响shell程序的内置命令 4.补充扩展expect 一.随机数 bash默认有一个 ...

  5. 深入浅出linux工具与编程 下载,8208.深入浅出Linux工具与编程.pdf

    <> 猛点这里下载全部内容 目录: 第1篇Linux命令及其工具 第1章Linux系统与命令 1.1Linux操作系统 1.1.1Linux重要概念 1.1.2Linux组成 1.1.3L ...

  6. c语言将pwd结果赋给变量,《网络系统管理linux实训》全套PPT电子课件教案-第4章 shell编程.ppt...

    第4章shell编程 4 1shell编程简介4 2shell分类4 3shell基本语法4 4shell程序的变量和参数4 5shell的测试表达式4 6shell的控制结构4 7awk4 8sed ...

  7. LINUX -SELL编程

    LINUX - SELL编程 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程 ...

  8. python机器人编程教程入门_机器人操作系统(ROS)入门必备:机器人编程一学就会...

    原标题:机器人操作系统(ROS)入门必备:机器人编程一学就会 ROS经过十几年的发展,已经得到了极大的推广和应用,尤其是在学术界.卡耐基梅隆大学机器人研究所的大部分实验室都是基于ROS编程的,现在所在 ...

  9. shell编程,实战高级进阶教学

    shell编程从入门到高级教程 一.shell编程初识 1.1 shell能做什么 1. 自动化批量系统初始化程序 (update,软件安装,时区设置,安全策略...) 2. 自动化批量软件部署程序 ...

最新文章

  1. 【Boost】boost库asio详解8——TCP的简单例子1
  2. Java读取word文件,字体,颜色
  3. 面试必问的 CAS ,要多了解
  4. 学习笔记二:异步FIFO
  5. Java并发编程之——并发集合
  6. 性能无敌的HikariCP数据库连接池实战(文末送书)
  7. 35岁老半路程序员的Python从0开始之路
  8. 【Flink】requested virtual cores for application master 1 exceeds the maximum number of virtual cores
  9. 荣耀note10升级android9.0,荣耀Note 10成为办公“超神”利器,只需要升级EMUI 9.0就够了!...
  10. 圣诞快乐(祝福的话和音乐盒)
  11. linux oracle ora-12162,oracle ORA-12162: TNS:net service name is incorrectly specified
  12. 做微信公众号淘宝客返利系统必须要知道3件事儿
  13. 计算机网络概述 第二部分
  14. 晨枫U盘启动盘制作工具V4.0-安装原版Win7
  15. php 获取当天是星期几,php获取时间是星期几代码
  16. vb6反编译详解_[原创]VB6反编译详解(一)
  17. Qt setStyleSheet的神奇
  18. 导出期刊对应格式的参考_从一篇文献看Web of Science的导出参考文献使用及格式...
  19. 北邮OJ-269. 网络传输-14网研上机D
  20. 海航陈峰回忆创业史:那是一个非常有趣的时代!

热门文章

  1. python 碎片图像拼接_python实现图像拼接
  2. Rem布局的原理解析
  3. 《FusionCharts学习及使用笔记》之 第一篇
  4. linux禁止开机启动服务器,如何关闭SELinux并设置开机不启动
  5. 彻底解决Spring MVC 中文乱码 问题
  6. gzip解压str python_有哪些你不知道的Python小工具
  7. 大整数乘法--leetcode Multiply Strings
  8. 使用jmap来生成堆转储快照
  9. tomcat基础架构剖析
  10. [转]分布式中Redis实现Session终结篇