正则表达式和变量写脚本

#!/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

相关推荐

  • SElinux 管理

    SELinux: Secure Enhanced Linux(安全强化的linux) SElinux安全上下文是由五个元素组成的: ①User:指示登录系统的用户类型,如root,user_u,system_u,多数本地进程都属于自由(unconfined)进程 ②Role:定义文件,进程和用户的用途:文件:object_r,进程和用户:syste…

    Linux干货 2016-09-26
  • yum与rpm包

    yum与rpm包 包命名和工具 包:分类和拆包 Application-VERSION-ARCH.rpm:主包 Application-devel-VERSION-ARCH.rpm 开发子包 Application-utils-VERSION-ARHC.rpm 其它子包 Application-libs-VERSION-ARHC.rpm 其它子包 包之间:可…

    Linux干货 2017-05-08
  • RPM与YUM安装工具介绍与初步使用、编译apache2

      RPM可以对程序 进行安装、卸载、查询、校验和维护     rpm(raedhat package mananger),一以种数据库记录的方式将需要的软件安装到linux系统的一种机制。     RPM最大的特点是将要安装的软件先编译过,并且打包成为RPM机制的安装包,通过包…

    Linux干货 2016-06-01
  • linux下逻辑卷管理LVM

    LVM:逻辑卷管理 LVM这个技术就是把底层的存储设备组成一个卷组,底层存储设备的存储空间会变成一个个PE(盘区,大小为2的n次方),这个卷组里就是一个个的PE,然后,这个卷组会重新分区,这些分区就为逻辑卷,这些逻辑卷都是由卷组里分配的PE组成。 关于LVM里的命令: pv的命令: pvcreate pvs pvdisplay pvscan pvremove…

    Linux干货 2015-08-04
  • Shell脚本之流程控制语句

    Shell脚本之流程控制语句 1、 if语句 (1)if 条件;then        action1 else        action2 fi  注意:shell里没有缩进要求。 (2)if 条件1;then   …

    Linux干货 2017-04-16
  • git

    1.1 Git的安装 1.1.1 版本 # cat /etc/redhat-release CentOS release 6.8 (Final) # uname -r 2.6.32-642.4.2.el6.x86_64 # uname -m x86_64 1.1.2 安装 可以直接通过源码安装。先从Git官网下载源码,然后解压,…

    Linux干货 2016-10-31

评论列表(1条)

  • renjin
    renjin 2017-04-21 11:48

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