zoukankan      html  css  js  c++  java
  • shell 基础

    【if】

      语法格式

    if ....; then
        ....
    elif ....; then
        ....
    else
        ....
    fi

      -f file    判断是否是一个文件
      -n $var    判断$var变量是否有值
      -r file    用户可读为真
      -w file    用户可写为真
      -x file    用户可执行为真
      -f file    文件为正规文件为真
      -d file    文件为目录为真
      -c file    文件为字符特殊文件为真
      -b file    文件为块特殊文件为真
      -s file    文件大小非0时为真
      -t file    当文件描述符(默认为1)指定的设备为终端时为真

      -ne  —比较两个参数是否不相等
      -lt  —参数1是否小于参数2
      -le  —参数1是否小于等于参数2
      -gt  —参数1是否大于参数2
      -ge  —参数1是否大于等于参数2

    #示例代码:判断文件是否存在
    #注意中括号里面的空格,不可缺少
    if [ -f 'a.log' ];then echo './a.log is exists' else echo './a.log is not exists' fi

    【switch】

    case expression  in 
        pattern1  )
            statements ;; 
        pattern2  )
            statements ;; 
        ... 
    esac
    #实力代码:nginx初始化脚本
    #!/bin/sh
    
    BIN=/path/to/nginx/sbin/nginx;
    PID=/path/to/nginx/logs/nginx.pid;
    CNF=/path/to/nginx/conf/nginx.conf;
    ulimit -SHn 10240
    case $1 in
            start)
                    $BIN -c $CNF
                    exit $?;
                    ;;
            stop)
                    kill $(cat $PID);
                    exit $?;
                    ;;
            reload)
                    kill -HUP $(cat $PID);
                    exit $?;
                    ;;
            rotate)
                    kill -USR1 $(cat $PID);
                    exit $?;
                    ;;
            port)
                    echo "Your port is 80";
                    ;;
            *)
                    echo "Usage: $0 {start|stop|reload|roate|port}";
                    exit 1;
    esac

    【for】

    # for in
    for var in ....; do
       ....
    done
    
    # for
    for((赋值;条件;运算语句))
    #示例代码:for
    for ((i=1;i<10;i++));
    do
        echo $i
    done
    
    
    #示例代码:for in (1)
    for var in A B C ; 
    do
       echo "var is $var"
    done
    

    #示例代码:for in (2) for file in `ls`; do echo $file done

    【while】

    while expression
    do
        ...
    done
    while ((i<10));
    do
        echo $i
        let i++
    done
  • 相关阅读:
    比较器
    堆排序
    快速排序
    荷兰国旗问题
    python查漏补缺 --- 基础概念及控制结构
    redis 交集、并集、差集
    spark问题
    IDEA写scala简单操作
    hive 中遇到的正则
    scala模式匹配
  • 原文地址:https://www.cnblogs.com/iamdoufu/p/4547760.html
Copyright © 2011-2022 走看看