zoukankan      html  css  js  c++  java
  • Linux中bash编程

    bash编程也叫shell编程

    预定义变量
            $? 最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确的执行;如果这个变量返回的值非0(具体是那个数,有命令自己来决定),则证明上一个命令执行不正确。
            $$当前进程的进程号(PID)
            $!后台运行的最后一个进程的进程号(PID)
      运算符
            declare 声名变量的类型  
            declare [+/-][选项] 变量名
            - 给变量设定类型属性
            + 取消变量的类型属性
            -i 将变量声名为整数型
            -x将变量什申明为环境变量
            -p 显示指定变量的被声名的类型

    举例:

    a=1 b=2 declare -i c = $a+$b c=$(($a+$b))

    注意用双小括号,因为Linux中认为一切皆为字符。

    如果不加()当成一个命令,shell脚本中Linux命令在 $() 中运行,当然可以直接写命令,如果则一些引用命令时 就要 $()


    单分支if  条件语句

    if [ 条件判断式 ];then
        程序
    fi
    or  
    if [ 条件判断式 ]
        then
            程序
    fi

    判断登录用户是否为root用户:

    #!/bin/bash
    
    #grep 获取行通配符
    #cut 获取列统配符,以 = 分割 2 获取第二列
    login_name=$(env | grep LOGNAME | cut -d "=" -f 2)
    #echo $login_name
    
    if [ "$login_name" != "root" ]
    
            then
                    echo 'isnot root'
    fi

    判断根分区的占用率

    #!/bin/bash
    #df -h 任性话显示磁盘的利用率
    #awk 获取第五列
    #cut 对字符用 % 进行分割 获取第一列值
    result=$( df -h | grep sda1 | awk '{print  $5}'  | cut -d % -f 1)
    
    if [ "$result" -lt '90' ]
            then
                    echo 'the root dir  is not full'
    
    fi

    双分支if条件语句

    if [ 条件判断式 ]
        then
             ...
        else
            ...
    fi

    判断nginx 是否在运行 (最好不用包含nginx作为文件名)

    #!/bin/bash
    result=$(ps aux | grep nginx | grep -v grep)
    
    if [ -n "$result" ]
            then
                    echo "$(date) nginx is ok !"
            else
                    echo "$(date) nginx is not ok !"
    
                    sudo /etc/init.d/nginx start &>/dev/null
                    echo "$(date) restart nginx !!"
    fi

    多分支if语句

    if []
        then 
    elif []
        then
    ...
    else 
       ...
    if
  • 相关阅读:
    BZOJ3224普通平衡树——旋转treap
    我有一个梦想
    Python自动化测试入门
    Java为何这么难学?
    jmeter正则表达式书写
    fiddler抓包后Jmeter实现登录接口
    JMeter如何使用用户定义的变量
    第一篇博客说明
    React笔记_(5)_react语法4
    React笔记_(4)_react语法3
  • 原文地址:https://www.cnblogs.com/webph/p/7169243.html
Copyright © 2011-2022 走看看