正则表达式和变量写脚本

#!/bin/bash
检查系统所有用户的shell是否为bash?
注释:用grep查找是否有此类用户,如果有则为真,则$?必然为0;显示的passwd结果对我们没意义,所以重定向到空。
 grep “\bbash\b$” /etc/passwd &> /dev/null
 A=`echo $?`
   echo “such users”
   grep “\bbash\b$” /etc/passwd
 else
   echo “not such user”
 fi
 查看/etc/inittab下面有空白行,有请计算行数,否则显示没有。
  grep “^[[:space:]]$” /etc/inittab
  A=”echo $?”
 if [ $A -eq 0 ];then
  echo `grep “^[[:space:]]$” /etc/inittab | wc -l`
 else
  echo “no lins”
 fi
 取用户user2的UI和GID,如果相等,则显示good guy ,否则显示bad guy.
   NAME=user2
   B=`id -u $NAME`
   C=`id -g $NAME`
 if [ $B -eq $C ];then
   echo “good guy”
 else
   echo “bad guy”
  fi
  检查命令历史数是否大于1000,大于则显示 fill gone 否则显示ok
   A=`history | wc -l`
   if [ $A -gt 1000 ];then
  echo “will gone”
   else
     echo “ok”
   fi
位置变量:
    例如:$1 $2 $3 $4 $5。是指变量$1 $2 $3 每个位置变量的引用就叫位置变量  
特殊变量
$?: 检测变量命令或者脚本执行正确与否。能执行为真,则$?为0;不能执行为假,则$?为1-255之间任意数皆可。
   $#:用于计算脚本名后面的位置变量个数。
例如:给脚本传递三个参数(整数),显示些两者之及之乘积?
脚本如下:
注释:如果传递参数小于3个,则提示错误,并提前结束脚本运行。
if [ $# -lt 3 ];then
  echo “usage is error”
exit 2
fi
注释:计算变量$1 $2 $3 之和如下
echo “the sum is $[$1+$2-$3]”
echo “the sum is $[$1*$2-$3]”
命令行则为:bash file2.sh 3 8 5
执行结果为如下:
the sum is 6
the sum is 19

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

(0)
hjw2017hjw2017
上一篇 2017-04-16 21:28
下一篇 2017-04-16 22:13

相关推荐

  • Hadoop简介

    我们之前已经解释过了分布式存储,分布式存储有很多的解决方案,其中有个开源程序叫做HDFS,HDFS+MAPREDUCE=hadoop。 hadoop不算是单存的分布式存储,我们之前提到的Mogilefs和Fastdfs都是分布式存储。hadoop属于分布式计算,MAPREDUCE是一个编程的框架,使得程序可以并行计算。 HDFS适用于存储单个大文件,在存储中…

    2017-03-13
  • 磁盘管理之MBR,GPT的概念及MBR和GPT分区工具的使用

    一,概述 设备文件 I/O ports: I/O设备地址 一切皆文件 open() read() write()close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位”字符“,键盘 块设备和字符设备的区别 块设备可以随机访问,字符设备必须连续访问,如,/dev/null 块设备有缓存,字符设备没有缓存,因为字符设备…

    Linux干货 2016-09-06
  • Linux三剑客之sed

    sed 简介 sed 工作原理 命令格式 常用选项: 地址定界: 编辑命令: 替换标记: sed元字符集(正则表达式) 高级编辑命令: sed用法实例 作业: 选定行的范围:,(逗号) 删除操作:d命令 显示模式空间内容 追加(行下):a\命令 插入(行上):i\命令 退出:q命令 多点编辑:e命令 从文件读入:r命令 写入文件:w命令 替换操作:s命令 替…

    Linux干货 2016-08-11
  • Cacti整合Zabbix监控

    前言: 由于公司现在很多业务都是使用cacti进行监控流量的,并且还有一些使用zabbix监控的项目,正好又有一个项目需要搭建Cacti+Zabbix进行综合监控,搭建完毕之后发现,Cacti较之以前有了不小的改进,所以就来写一写Cacti和Zabbix监控整合的文章,顺便说一下Cacti下的一些好用的插件。 环境: Centos 6.4 X86_64 Ca…

    Linux干货 2015-03-19
  • man帮助

                                        正确使用 man帮助      在生产过程中,我们会遇到不同的技术故…

    2017-05-30
  • httpd服务

             练习:        (1)基于主机名实现三个虚拟主机              …

    Linux干货 2016-11-11

评论列表(1条)

  • renjin
    renjin 2017-04-21 11:48

    主要介绍了正则表达式,及bash脚本的简单用法,建议将代码插入到”插入程序代码”中去,这样的在排版上效果会好一些的!