• [sh]shell小结


    一 判断

    -d     测试是否为目录。
    -f 判断是否为文件。

    -s 判断文件是否为空 如果不为空 则返回0,否则返回1
    -e     测试文件或目录是否存在。
    -r     测试当前用户是否有权限读取。
    -w     测试当前用户是否有权限写入。
    -x     测试当前用户是否有权限执行。
    语法:
    [ -d /etc/fstab ]
    且 或 非
    &&     逻辑的与,"而且"的意思。
    ||     逻辑的或,"或者"的意思。
    !     逻辑的否
    
    [ $USER != root ] && echo "user"
    [ $USER != root ] && echo "user" || echo "root"
    
    -eq     判断是否等于
    -ne     判断是否不等于
    -gt     判断是否大于
    -lt     判断是否小于
    -le     判断是否等于或小于
    -ge     判断是否大于或等于
    
    [ 10 -gt 10 ]

    二 变量

    [root@lanny ~]# FreeMem=`free -m | grep cache: | awk '{print $3}'`
    验证变量是否已经获得可用内存量:
    [root@lanny ~]# echo $FreeMem
    609
    告警内存不够用:
    [root@lanny ~]# [ $FreeMem -lt 1024 ] && echo "Insufficient Memory"
    Insufficient Memory

    三 字符串

    =     比较字符串内容是否相同。
    !=     比较字符串内容是否不同。
    -z     判断字符串内容是否为空。  ----->从而判断变量是否被定义.
    [ -n "$var" ]                     :判断$var变量是否有值->已经定义?

    判断String变量是否为空值: [root@lanny
    ~]# [ -z $String ] 上一条命令执行成功,说明变量String确实为空值: [root@lanny ~]# echo $? 0 输出当前的系统语言: [root@lanny ~]# echo $LANG en_US.UTF-8 判断当前的系统语言是否为英文,否则输出“不是英语”: [root@lanny ~]# [ $LANG != "en.US" ] && echo "Not en.US" Not en.US

    四 语句

    if then fi
    for do done
    while do done
    
    4.1判断语句
    if [ -f /home/ ];then
        echo ok;
    fi
    4.2循环语句
    for i in `seq 1 24`;do
        echo $i
    done
    
    while :;do
        echo `date`
        sleep 2
    done

    五 参数:

    $? 显示上一条命令的返回值,非0则为失败,即不是目录
    $1 第一个参数
    [root@lanny ~]# vim test.sh
    #!/bin/bash
    echo "当前脚本名称为$0"
    echo "总共有$#个参数,分别是$*。"
    echo "第1个参数为$1,第5个为$5。
    
    [root@lanny ~]# sh test.sh one two three four five six
    当前脚本名称为Example.sh
    总共有6个参数,分别是one two three four five six。
    第1个参数为one,第5个为five。
  • 相关阅读:
    設計模式學習(一)觀察者模式(Observer)
    JavaScript對Table進行排序(jQuery)
    一个很好的String组合连接的方法(StringBuffer)
    关于C#静态构造函数的几点说明 (轉載)
    在DataGrid中添加序號
    C# 对象深拷贝、浅铐贝、直接拷贝(转)
    在做數據插入時,傳參數應該注意的小細節!
    JavaScript檢驗時間格式
    獲得鼠標位置(js)
    my tools
  • 原文地址:https://www.cnblogs.com/iiiiher/p/5385108.html
Copyright © 2020-2023  润新知