zoukankan      html  css  js  c++  java
  • shell script 基本语法

     几个符号的意义
    $#:代表后接的参数『个数』,以上表为例这裡显示为『 4 』;
    $@:代表『 "$1" "$2" "$3" "$4" 』之意,每个变数是独立的(用双引号括起来);
    $*:代表『 "$1c$2c$3c$4" 』,其中 c 为分隔字元,预设为空白键, 所以本例中代表『 "$1 $2 $3 $4" 』之意。
    shift
    [root@www scripts]# vi sh08.sh
    #!/bin/bash
    echo "Total parameter number is ==> $#"
    echo "Your whole parameter is   ==> '$@'"
    shift   # 进行第一次『一个变数的 shift 』
    echo "Total parameter number is ==> $#"
    echo "Your whole parameter is   ==> '$@'"
    shift 3 # 进行第二次『三个变数的 shift 』
    echo "Total parameter number is ==> $#"
    echo "Your whole parameter is   ==> '$@'"
    结果
    [root@www scripts]# sh sh08.sh one two three four five six #给予六个参数
    Total parameter number is ==> 6   #最原始的参数情况
    Your whole parameter is   ==> 'one two three four five six'
    Total parameter number is ==> 5   #第一次偏移,看底下发现第一个 one 不见了
    Your whole parameter is   ==> 'two three four five six'
    Total parameter number is ==> 2   #第二次偏移掉三个,two three four 不见了
    Your whole parameter is   ==> 'five six'
    if …. then
    if [ 条件判断式一 ]; then
     当条件判断式一成立时,可以进行的指令工作内容;
    elif [ 条件判断式二 ]; then
     当条件判断式二成立时,可以进行的指令工作内容;
    else
     当条件判断式一与二均不成立时,可以进行的指令工作内容;
    fi
    && 代表 AND ;
    || 代表 or ;
    所以,在使用中括号的判断式中, && 及 || 就与指令下达的状态不同了。
    [ "$yn" == "Y" -o "$yn" == "y" ] 可替换为 [ "$yn" == "Y" ] || [ "$yn" == "y" ]
    case … esac
    case  $变数名称 in
      "第一个变数内容")
     程式段
     ;;
      "第二个变数内容")
     程式段
     ;;
      *)
     不包含第一个变数内容与第二个变数内容的其他程式执行段
     exit 1
     ;;
    esac
    function
    function fname() {
     程式段
    }
    循环
    while [ condition ]
    do
     程式段落
    done
    until [ condition ]
    do
     程式段落
    done
    for var in con1 con2 con3 ...
    do
     程式段
    done
    for (( 初始值; 限制值; 执行步阶 ))
    do
     程式段
    done

  • 相关阅读:
    Oracle OCP提纲
    Oracle redo 日志损坏的几种情况下的恢复
    Oracle 归档开启切换和归档日志删除(单实例和RAC)
    MySQL mysqldump备份与恢复
    Oracle 卸载
    MySQL脚本自动安装mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz
    Oracle session出现大量的inactive
    Oracle 备份与恢复基础
    NuGet 下载dll
    Azure Service Bus
  • 原文地址:https://www.cnblogs.com/xieqianli/p/4219675.html
Copyright © 2011-2022 走看看