正则表达式和变量写脚本

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

相关推荐

  • Linux下如何使用sendEmail来发送邮件

    1)什么是sendEmail sendEmail是一个轻量级,命令行的SMTP邮件客户端(注意,不要跟sendmail混淆了)。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大,从此以后你就爱上了它。 2)安装sendEmail [root@zabbix ~]# wget http://…

    系统运维 2016-07-29
  • N22-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel /home/tuser1    (复制/etc/skel为/home/tuser1) [root@localho…

    Linux干货 2016-09-05
  • 第十周:Linux系统启动流程及shell脚本练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 一张图足以说明一切: 2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;   (1) 为硬盘新建两个主分区;并为其安装grub;   (2) 为硬盘的第一个主分区提供内核和ramdisk文件;为第二个分区提供rootfs;   (3)…

    Linux干货 2016-11-30
  • 第十四周作业

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; ]# iptables -P INPUT DROP #INPUT默认策略为DROP ]# iptables -P OUTPUT DROP…

    Linux干货 2017-04-12
  • 硬链接与软链接

    硬连接:          其本质就是:一个文件,多个名字。注意:目录是没有硬链接的。 用ln filename linkname创建硬链接,注意源文件和链接文件位置顺序,硬链接不可以跨分区建。 在创建硬链接时会增加硬连接数,可以通过ls –l查看,如下图所示的,可看到硬链接数。…

    2017-07-20
  • 马哥教育网络班21期+第五周博客作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@C67-X64-A0 ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf      root (hd0,0…

    Linux干货 2016-08-05

评论列表(1条)

  • renjin
    renjin 2017-04-21 11:48

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