• shell 语法08-shell主要语法结构


    if语法结构

    单分支结构

    if <条件表达式>
        then
    		指令
    if
    
    if <条件表达式>;then
        指令
    if
    

    双分支结构

    if <条件表达式>
        then
    		指令
        else
            指令
    if
    

    多分支结构

    if <条件表达式>
        then
        		指令
        elif <条件表达式>
            then
                指令
        elif <条件表达式>
            then
                指令
        else
            指令
    if
    

    if条件语句多种条件表达式语法

    test条件表达式

    if test 表达式
        then
            指令
    fi
    

    []条件表达式

    if [ 字符串或算术表达式 ]
        then
            指令
    if
    

    [[]]条件表达式

    if [[ 字符串表达式 ]]
        then
            指令
    if
    

    (())条件表达式

    if ((算术表达式))
        then
            指令
    if
    

    命令表达式

    if 命令
        then
            指令
    if
    

    shell函数语法结构

    function 函数名() {
        指令 ......
        return n
    }
    
    function 函数名 {
        指令 ......
        return n
    }
    
    函数名() {
        指令 ......
        return n
    }
    

    shell的case语法结构

    case "变量" in
        值1)
            指令1 ......
            ;;
        值2)
            指令2 ......
            ;;
        *)
            指令3 ......
    esac
    

    shell的while语法结构

    # 当条件成立是,进入循环执行指令
    while <条件表达式>
    do
        指令
    done
    

    shell的until语法结构

    # 当条件不成立是,进入循环执行指令
    until <条件表达式>
    do
        指令
    done
    

    shell的for语法结构

    for 变量名 in 变量取值列表
    do
        指令 ......
    done
    
    for ((exp1; exp2; exp3))
    do
        指令 ......
    done
    

    shell的select语法结构

    select 变量名 [ in 菜单取值列表 ]
    do
        指令 ......
    done
    

    shell的数组语法结构

    1、用小括号将变量值括起来赋值给数组变量,每个变量值之间要用空格进行分隔

    array=(value1 value2 value3 ......)
    

    2、用小括号将变量值括起来,同时采用键值对的形式赋值。

    array=([1]=one [2]=two [3]=three)
    

    3、通过分别定义数据变量的方法来定义

    array[0]=a;array[1]=b;array[2]=c;
    

    4、动态地定义数组变量,并使用命令的输出结果作为数组的内容

    array=($(命令))
    array=(`命令`)
    

    打印命令

    打印指定元素

    echo ${array[i]}
    

    打印所有元素

    echo ${array[@]}
    echo ${array[*]}
    

    打印数组长度

    echo ${#array[@]}
    echo ${#array[*]}
    

    shell脚本运行的相关用法

    用法 说明
    sh test.sh & 把脚本test.sh放在后台执行
    control + c 停止执行当前脚本或任务
    control + z 暂停执行当前脚本或任务
    bg 把当前脚本或任务放在后台执行
    fg 把当前脚本或任务放在前台执行
    jobs 查看当前执行的脚本或任务
    kill 关闭执行的脚本任务
    break n 如果省略n,则表示跳出整个循环,n表示跳出循环的层数
    continue n 如果省略n,则表示跳过本次循环,忽略本次循环的剩余代码,进入循环的下一次循环。N表示退到第n层继续循环。
    exit n 退出当前shell程序,n为上一次程序执行的状态返回值。在下一个shell里可通过$? 接收n值。n值可以省略。
    return n 用于在函数里作为函数的返回值,以判断函数执行是否正确。可通过$? 接收n值。
  • 相关阅读:
    poj 2955 Brackets
    HDU 3790 最短路径问题
    畅通工程续
    HDU 1896 六度分离
    HDU
    第九周作业
    第八周作业
    2019年春季学习第七周学习总结
    2019春季学习总结第六周作业
    第五周作业
  • 原文地址:https://www.cnblogs.com/liangjingfu/p/9468531.html
Copyright © 2020-2023  润新知