shell基础(二)

1、基本运算
shell基础(二)_第1张图片

val=`expr $a + $b`
echo "a + b : $val"
  • 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,与我们熟悉的大多数编程语言不一样。

  • 完整的表达式要被 包含,注意这个字符不是常用的单引号,在 Esc 键下边。

  • 乘号(*)前边必须加反斜杠()才能实现乘法运算;
    shell基础(二)_第2张图片
    shell基础(二)_第3张图片
    在这里插入图片描述
    2、流程控制

    if condition
    then
    command1
    command2

    commandN
    fi
    --------------------!

    if condition
    then
    command1
    command2

    commandN
    else
    command
    fi
    --------------------!
    if condition1
    then
    command1
    elif condition2
    then
    command2
    else
    commandN
    fi
    --------------------!
    for var in item1 item2 … itemN
    do
    command1
    command2

    commandN
    done
    --------------------!
    while condition
    do
    command
    done
    --------------------!
    until condition
    do
    command
    done
    --------------------!
    case 值 in
    模式1)
    command1
    command2

    commandN
    ;;
    模式2)
    command1
    command2

    commandN
    ;;
    esac
    --------------------!
    break:
    #!/bin/bash
    while :
    do
    echo -n “输入 1 到 5 之间的数字:”
    read aNum
    case $aNum in
    1|2|3|4|5) echo “你输入的数字为 $aNum!”
    ;;
    *) echo “你输入的数字不是 1 到 5 之间的! 游戏结束”
    break
    ;;
    esac
    done
    --------------------!
    continue:
    #!/bin/bash
    while :
    do
    echo -n "输入 1 到 5 之间的数字: "
    read aNum
    case $aNum in
    1|2|3|4|5) echo “你输入的数字为 $aNum!”
    ;;
    *) echo “你输入的数字不是 1 到 5 之间的!”
    continue
    echo “游戏结束”
    ;;
    esac
    done
    !-------------------!
    shell基础(二)_第4张图片
    3、函数
    [ function ] funname [()]
    {
    action;
    [return int;]
    }

  • 可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。

  • 参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)

funWithReturn(){
echo “这个函数会对输入的两个数字进行相加运算…”
echo "输入第一个数字: "
read aNum
echo "输入第二个数字: "
read anotherNum
echo “两个数字分别为 $aNum 和 $anotherNum !”
return ( ( (( ((aNum+$anotherNum))
}
funWithReturn
echo “输入的两个数字之和为 $? !”

  • 函数返回值在调用该函数后通过 $? 来获得。
  • 注意:所有函数在使用前必须定义。

你可能感兴趣的:(文章)