码迷,mamicode.com
首页 > 系统相关 > 详细

初识shell【运算符与判断】

时间:2018-04-27 22:11:07      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:初识shell【运算符与判断】

小白的shell之路

系统版本 Red Hat Enterprise Linux Server release 7.0

            【基础篇】
                                                      认识shell和基本运算符

 1.什么是shell脚本:

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

   2.查看本机现有解释器:
cat  /etc/shells

        3.修改用户的shell解释器:
  useradd -s /bin/ksh     zhangsan     【创建用户张三的时候指定登陆shell】
    usermod  -s /bin/ksh   zhangsan     【修改已有用户张三的登陆shell】

        4.查看历史命令:
  history
    vim  /etc/profile                       【进入配置文件】
    HISTSIZE=1000                    【可修改默认历史数量】
    history  -c                                 【清空历史命令】

           5.历史命令的应用:
    ![序号]                                    【再次执行该序号的命令】
    !cat                                         【再次执行最近以cat开头的命令】

             6.重定向标准输入/输出/错误输出
             > 将命令执行的正常输出重定向到文件
             >>:只收集前面命令的正确输出
         2>:只收集前面命令的错误输出
         &>:前面命令的正确与错误输出
         >&2:将正确的输出结果变成错误的输出

       运算符:

                     1.expr     【注:数字间有空格】

      [root@server0 ~]# expr 10 % 3  【求10与3的余数】
      1

           2.$[]
     [root@server0 ~]# echo $[5*3]   【求5乘3】
     15

              [root@server0 ~]# x=5            【分别为x和y赋值并求乘积】
      [root@server0 ~]# y=10
      [root@server0 ~]# echo $[x*y]
      50

             3.let                【不显示结果】

         [root@server0 ~]# x=6
         [root@server0 ~]# y=6
         [root@server0 ~]# let i=x+y
         [root@server0 ~]# echo $i
         12

               简写运算:
           [root@server0 ~]# x=5
           [root@server0 ~]# let x++              【为x值加1】
           [root@server0 ~]# echo $x
           6

            [root@server0 ~]# x=5
            [root@server0 ~]# let x+=5           【为x值加5】
            [root@server0 ~]# echo $x
            10
                let x*=5                                             【为x值晨乘5】
                let x/=5                                             【为x值除以5】
                let x%=5                                           【为x值取余】

                4.bc        【计算器】
           5+5
           10

                                5. 取小树点后x位
            scale=x
                                    取小数点后两位
             [root@server0 ~]# echo "scale=2;2/10"  | bc
            .20

               6. 比较:test  或    [   参数  =   参数  ]               【括号内一定要有空格】

                             [root@server0 ~]# [ a = a ]
             [root@server0 ~]# echo $?        【判断是否执行】
             0

                 7.判断空值 -z
              [root@server0 ~]# [ -z $p ]
              [root@server0 ~]# echo $?
              0
              [root@server0 ~]# p=5
              [root@server0 ~]# [ -z $p ]
              [root@server0 ~]# echo $?
              1

                      1.一行打多条命令
           a && b  仅当a成功时,才执行b
           a || b  仅当a失败时,才执行b
           a ;  b  执行a,执行b

       示例:
            创建用户登陆超过两个邮件报警
            #!/bin/bash
            num=`who | wc -l`
            [ $num -gt 2 ] && mail -s error  root < /root/mail

           编辑邮件内容vim /root/mail

                       2.判断文件/目录的状态
          -e  判断对象是否存在,存在即为真
          -d  判断对象是否为目录,存在即为真
          -f  判断对象是否为文件,存在即为真

          -r 读
          -w 写
         -o 执行本

                  注:root对所有对象皆为真『脚本除外』

          [Moring晨光]#chmod -x who.sh
          [Moring晨光]#ll who.sh
          -rw-r--r--. 1 root root 81 4月  24 11:52 who.sh
          [Moring晨光]#[ -o who.sh ]
          [Moring晨光]#echo $?
          1

           [判断]  && 命令    存在即执行命令
           [判断]  ||  命令      不存在即执行命令

               !  取反

            单分支if   只能判断对
            双分支if   判断对和错
            多分支if   多次判断

初识shell【运算符与判断】

标签:初识shell【运算符与判断】

原文地址:http://blog.51cto.com/13713381/2108652

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!