zoukankan      html  css  js  c++  java
  • Shell2

    运算:+  -  *  /(取商)  %(求模,取余) **(次方)

      也是屏蔽符号,只屏蔽后面一个符号的特殊意义
      ‘’可以屏蔽之间的所有符号的特殊意义

      expr 数字1  *  数字2     (屏蔽掉*的特殊意义,*的特殊意义代表所有)
      echo $[数字1  *  数字2]

    [root@desktop0 ~]# a=3
    [root@desktop0 ~]# b=5
    [root@desktop0 ~]# echo $[a + b]   
    8
    [root@desktop0 ~]# echo $[$a + $b]
    8
    [root@room8pc205 ~]# echo $[2*3]
    6
    [root@room8pc205 ~]# echo $[2**3]
    8
    [root@room8pc205 ~]# echo $[2**4]
    16

    ##################################################
    x++   x=x+1
    x--   x=x-1
    x+=2  x=x+2
    x+=5  x=x+5
    x*=5  x=x*5
    x/=2  x=x/2

    # x=1
    # y=2
    # let z=x+y      计算但不显示
    # echo $z        显示出来
    3
    ################################################
    bc 计算器  可以处理小数运算  
    quit 退出
    scale=数字1    指定结果的小数点的位数为  数字1位  (加减乘法运算不行)
    # echo "scale=4;10/3"|bc
    3.3333
    # echo "scale=2;10/3"|bc
    3.33
    # echo "scale=2;3.568+2.265"|bc
    5.833
    # echo "scale=2;3.568-2.265"|bc
    1.303
    # echo "scale=2;3.568*2.265"|bc
    8.081

    # echo "2>9"|bc   做逻辑运算
    0
    # echo "9>2"|bc
    1
    ##################################################
    判断:字符串、数字、文件或目录
    语法格式:
    [   判断内容  ]           注意判断内容与[]有空格
    1、字串:
        [  "abc" == "xyz"  ]
        [  "$USER" == "root" ]
        [  "abc" != "xyz"  ]
        # echo $?  查看上面的判断结果是否正确 0表示对、1表示错

    # [ "xyz" == "xyz" ]
    # echo $?
    0

    # [ -z $dachui]     查看变量dachui的值是否等于zero,看变量dachui的值是否为空值
    # echo $?
    0

    # dachui=1
    # [ -z $dachui ]
    # echo $?
    1

    ####################################################################

    想在一行内,打多个命令

    1、 ; &&  ||

    A && B  执行A,仅当A成功,才执行B
    A || B  执行A,仅当A失败,才执行B
    A;B    执行A,执行B

    # [ root == root ] && echo Yes || echo No    执行Yes
    Yes
    # [ tom == root ] && echo Yes || echo No   执行No
    No

    2、判断数字:

        -eq:等于         equal
        -ne:不等于      no  equal
        -gt:大于         greater than
        -ge:大于等于   greater or equal
        -lt:小于         less than
        -le:小于等于   less or equal

    3、文件或目录
       -e:是否存在exist
       -f:是否存在,且是文件file
       -d:是否存在,且是目录directory
       -r:是否可读read
       -w:是否可写write
       -x:是否可执行execute

    超级管理员即使删除了r权限,依然可读。
    但是删除了x权限后,即使是超级管理员也不能执行。
    可以使用超级管理员chmod命令赋予自己执行权限
    [ ! -d /abc ] && mkdir /abc
    cp a.txt /abc/
    [ -d /abc ] || mkdir /abc
    cp a.txt /abc/

    if语法:
      1、单分支
        if [ 判断 ]; then 命令
        fi
    或者
        if [ 判断 ]
           then  命令
        fi   
     
     rpm -q net-tools   查看     netstat -antpul |grep 80    #查看端口号80 判断httpd服务是否启用
     systemctl status httpd                               #直接查看httpd服务状态
    如果80端口未启动,则启动http
    1.有没有包 rpm -q net-tools
        if [ $? -ne 0 ]; then
                    安装
        fi

      2、双分支
        if [ 判断 ];then
                     命令
        elif
                     命令
        fi
    ping -W1 192.168.1.1  #等待时间1秒,没回馈就判断为失败
    ping -c2 192.168.1.1  #ping的次数为2次,不通就判断为失败
    ping -i0.2 192.168.1.1 #ping的间隔时间为0.2秒

      3、多分支(多次判断)
         if [ 判断1 ];then
                   命令
         elif [ 判断2 ];then
                   命令
         elif [ 判断3 ];then
                   命令
         else
                   命令
         fi


  • 相关阅读:
    asp.net mvc中ViewData、ViewBag和TempData的详解
    在asp.net WebForms中使用路由Route
    Sql Server批量删除指定表
    MongoDB安装并设置为windows服务以使其开机自启
    NPOI操作excel之写入数据到excel表
    NPOI操作excel之读取excel数据
    SQL Server 定时自动备份数据库
    如何用按钮的click事件去触发a标签的click事件
    C# Asp.net Quartz.NET作业调度之创建、安装、卸载、调试windows服务的简单事例
    c#中浅拷贝和深拷贝的理解
  • 原文地址:https://www.cnblogs.com/baichuanhuihai/p/8133977.html
Copyright © 2011-2022 走看看