zoukankan      html  css  js  c++  java
  • linux shell脚本常用语句

    linux shell 指令 诸如-d, -f, -e之类的判断表达式

    文件比较运算符
    -e filename  如果 filename存在,则为真  [ -e /var/log/syslog ]
    -d filename  如果 filename为目录,则为真  [ -d /tmp/mydir ]
    -f filename  如果 filename为常规文件,则为真  [ -f /usr/bin/grep ]
    -L filename  如果 filename为符号链接,则为真  [ -L /usr/bin/grep ]
    -r filename  如果 filename可读,则为真  [ -r /var/log/syslog ]
    -w filename  如果 filename可写,则为真  [ -w /var/mytmp.txt ]
    -x filename  如果 filename可执行,则为真  [ -L /usr/bin/grep ]
    filename1-nt filename2  如果 filename1比 filename2新,则为真  [ /tmp/install/etc/services -nt /etc/services ]
    filename1-ot filename2  如果 filename1比 filename2旧,则为真  [ /boot/bzImage -ot arch/i386/boot/bzImage ]
    字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
    -z string  如果 string长度为零,则为真  [ -z "$myvar" ]
    -n string  如果 string长度非零,则为真  [ -n "$myvar" ]
    string1= string2  如果 string1与 string2相同,则为真  [ "$myvar" = "one two three" ]
    string1!= string2  如果 string1与 string2不同,则为真  [ "$myvar" != "one two three" ]
    算术比较运算符
    num1-eq num2  等于 [ 3 -eq $mynum ]
    num1-ne num2  不等于 [ 3 -ne $mynum ]
    num1-lt num2  小于 [ 3 -lt $mynum ]
    num1-le num2  小于或等于 [ 3 -le $mynum ]
    num1-gt num2  大于 [ 3 -gt $mynum ]
    num1-ge num2  大于或等于 [ 3 -ge $mynum ]

    举例:

     1 if [ $# != 1 ]; then                                                            
     2     echo arguement error ...                                                    
     3     exit 0                                                                      
     4 fi                                                                              
     5                                                                                 
     6 if [ ! -e "$1" ]; then                                                          
     7     echo no such device $1                                                      
     8     exit 0                                                                      
     9 fi                                                                              
    10                                                                                 

    这里包含if判断的东西,if 里面的判断[] 里面的条件必须要有空格

    例如: if [ -e  "/dev/sdb" ];then

        ...

       fi

    [ 后面有个空格, ] 前面也有一个空格。

     参考:http://blog.csdn.net/sxzlc/article/details/7542603
     
     
     

    linux shell case语句 :

    case语句适用于需要进行多重分支的应用情况。

            case分支语句的格式如下:

                case $变量名 in

                    模式1

                命令序列1

                    ;;

                    模式2

                命令序列2

                            ;; 

                    *)

                默认执行的命令序列     ;; 

                esac 

            case语句结构特点如下:

            case行尾必须为单词“in”,每一个模式必须以右括号“)”结束。

            双分号“;;”表示命令序列结束。

            匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。

            最后的“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后

        的命令序列。

    例如:

     1   case "$1" in                                  //判断$1                                
     2     *.sh)                                                           //如果是.sh文件,那么执行这一个            
     3         # Source shell script for speed.                                        
     4         (                                                                       
     5             trap - INT QUIT TSTP                                                
     6             scriptname=$1                                                       
     7             shift                                                               
     8             . $scriptname                                                       
     9         )                                                                       
    10         ;;                                                                      
    11     *)                                                         //如果不是.sh那么执行这个默认的                 
    12         "$@"                                                                    
    13         ;;                                                                      
    14   esac                                                                          

    参考来源:http://blog.csdn.net/dreamtdp/article/details/8048720

    linux shell   参数:

    $1 表示第一个参数。

    $2 表示第二个参数。

    $3 表示第三个参数。

    $@ 表示所有的参数,这个是数组的方式表示所有的参数。

    $# 表示参数的个数。

    $* 也可以表示所有的参数。

    linux shell if 判断语句:

    一、if的基本语法:
    if [ command ];then
       符合该条件执行的语句
    elif [ command ];then
       符合该条件执行的语句
    else
       符合该条件执行的语句
    fi
     

    linux shell  while 循环:

    while循环的格式
     
    1. while expression
    2. do
    3. command
    4. command
    5. ```
    6. done

    参考:http://blog.chinaunix.net/uid-25880122-id-2901409.html

  • 相关阅读:
    基于poi的Excel文件导出(简单表头、固定模板)
    maven 程序包sun.plugin.util不存在
    基于poi的Excel文件导出(固定表头、固定模板)
    java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Workbook
    String字符串转List<JavaBean>
    spring项目打包,包含java下的各种配置文件
    代理客户端请求本地调试方法
    故障排除:"log file sync"等待 (文档 ID 1626301.1)
    package.json-属性详解
    excel 制作图加入latex
  • 原文地址:https://www.cnblogs.com/chenfulin5/p/5895594.html
Copyright © 2011-2022 走看看