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
  • 相关阅读:
    KVM学习(初步安装与使用)
    读书笔记之Linux系统编程与深入理解Linux内核
    深入理解linux关闭文件和删除文件
    读书笔记之大型网站架构:核心原理与架构分析
    读书笔记之深入理解Nginx:模块开发与结构解析
    python socket server源码学习
    python文本处理--定位motif在fasta文件上的位置,并给出位置信息
    python文本处理练习-4
    python文件处理,去除内含子,拼接外显子
    python处理fasta文件,ID和序列放在一行
  • 原文地址:https://www.cnblogs.com/iamdoufu/p/4547760.html
Copyright © 2011-2022 走看看