正则表达式和变量写脚本

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

相关推荐

  • OSI和TCP/IP

            我们生活中各方面都离不开网络,那网络究竟是什么东西呢?它是怎么做到让在不同地点的人无视空间距离完成通信的呢?首先我们来了解一下网络的基本概念。网络是由节点和连线构成,表示诸多对象及其相互联系。在数学上,网络是一种图,一般认为专指加权图。网络除了数学定义外,还有具体…

    2017-09-02
  • 搜索引擎的技术架构

    1. 搜索引擎的分类 搜索引擎按其工作方式主要可分为三种: 分别是全文搜索引擎(Full Text Search Engine) 目录索引类搜索引擎(Search Index/Directory) 元搜索引擎(Meta Search Engine)。 ■ 全文搜索引擎  全文搜索引擎是名副其实的搜索引擎,国外具代表性的有Google、Fast/Al…

    Linux干货 2015-11-18
  • 合并 CentOS 6.8 的两个iso镜像

    合并 CentOS 6.8 的两个iso镜像 合并 CentOS 6.8 的两个DVD镜像 1、创建相关目录:                              &nbsp…

    Linux干货 2017-04-24
  • Linux下计划任务神器-Crontab

    作为系统运维人员都清楚,在Linux下定义重复性的任务,我们一般会采用crontab来进行:crontab这个指令所设置的工作将会循环的一直进行下去!可循环的时间为分钟、小时、每日、每月、每周。 crontab计划任务: 1)常见用法:crontab命令的作用和用法如下:描述:为每个用户维护周期性的计划任务文件用法:crontab [-u 用户][-l|-r…

    Linux干货 2016-07-22
  • N26-第二周作业

    linux上的文件管理命令:     1. cp命令:         作用:复制文件或目录         单文件复制:    …

    Linux干货 2017-02-15
  • 第五周作业

    1、简述rpm与yum命令的常见选项,并举例 rpm 命令 linux的的包管理器,用于对rpm软件包,进行安装、升级、卸载、查询、校验等操作。 使用语法: rpm [OPTIONS] [PACKAGE_FILE] 常用选项: 安装: -i,–install 升级: -U,–update,-F,–freshen 卸载: -…

    Linux干货 2017-12-14

评论列表(1条)

  • renjin
    renjin 2017-04-21 11:48

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