【Bash Shell】从零开始02

【Bash Shell】从零开始01

【Bash Shell】从零开始02

  1. 多行注释
    #!/bin/bash
    :<<EOF
    echo "Hello World"
    EOF
    echo "OK"
    
    运行结果:OK
  2. $* 与 $@ 区别:
    相同点:都是引用所有参数。
    不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。
  3. Shell基本运算符
    #原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。
    
    #expr 是一款表达式计算工具,使用它能完成表达式的求值操作。
    
    #例如,两个数相加(注意使用的是反引号 ` 而不是单引号 '):
    #!/bin/bash 
    
    a=10
    b=20
    
    val=`expr $a + $b`
    echo "a + b : $val"
    
    val=`expr $a - $b`
    echo "a - b : $val"
    
    val=`expr $a \* $b`
    echo "a * b : $val"
    
    val=`expr $b / $a`
    echo "b / a : $val"
    
    val=`expr $b % $a`
    echo "b % a : $val"
    
    if [ $a == $b ]
    then
       echo "a 等于 b"
    fi
    if [ $a != $b ]
    then
       echo "a 不等于 b"
    fi

    注:变量赋值等号两端是没有空格的!!!

  4. if语句
    if condition
    then
        command1 
        command2
        ...
        commandN 
    fi
  5. for循环

    for var in item1 item2 ... itemN
    do
        command1
        command2
        ...
        commandN
    done
  6. while语句
    while condition
    do
        command
    done
  7. until循环(直到条件满足才退出循环)
    #    until condition
    #    do
    #        command
    #    done
    
    #!/bin/bash
    
    a=0
    
    until [  $a == 10 ]
    do
       echo $a
       a=`expr $a + 1`
    done
  8. case语句(类似于switch-case语句)
    case 值 in
    模式1)
        command1
        command2
        ...
        commandN
        ;;
    模式2)
        command1
        command2
        ...
        commandN
        ;;
    esac
    ##跟if语句一样,倒叙作为结束符
    echo '输入 1 到 4 之间的数字:'
    echo '你输入的数字为:'
    read aNum
    case $aNum in
        1)  echo '你选择了 1'
        ;;
        2)  echo '你选择了 2'
        ;;
        3)  echo '你选择了 3'
        ;;
        4)  echo '你选择了 4'
        ;;
        *)  echo '你没有输入 1 到 4 之间的数字'
        ;;
    esac

猜你喜欢

转载自blog.csdn.net/m0_37811192/article/details/81582575