Linux基础(学习笔记三)

  1. 循环语句

    for语句

    for循环一般格式为:

     

    for var in item1 item2 ... itemN
    do
        command1
        command2
       
    ...
        commandN
    done

     

    案例:

    #!/bin/bash

    for num in 1 2 3 4 5
    do
        echo "The value is: $num"
    done

     

    顺序输出字符串中的字符:

    for str in 'This is a string'
    do
        echo $str
    done

     

    while 语句

    while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为:

    while condition
    do
        command
    done

    以下是一个基本的while循环,测试条件是:如果int小于等于5,那么条件返回真。int从0开始,每次循环处理时,int加1。运行上述脚本,返回数字1到5,然后终止。

    #!/bin/bash

    int=1
    while(( $int<=5 ))
    do
        echo $int
       
    let "int++"
    done

    另外:while循环可用于读取键盘信息。下面的例子中,输入信息被设置为变量FILM,按<Ctrl-D>结束循环。

    #!/bin/bash

    echo -n '输入你最喜欢的老师名: '
    while read person

    do
        echo "是的!$person 是一个好人"
    done

    无限循环

    无限循环语法格式:

    while :
    do
        command
    done

    或者

    while true
    do
        command
    done

     

    until 循环

    until 循环执行一系列命令直至条件为 true 时停止。

    until 循环与 while 循环在处理方式上刚好相反。

    以下实例我们使用 until 命令来输出 0 ~ 9 的数字:

    #!/bin/bash

    a=0

    until [ ! $a -lt 10 ]
    do
       echo $a
       a
    =`expr $a + 1`
    done

    case

    Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令

    下面的脚本提示输入1到4,与每一种模式进行匹配:

    echo '输入 1 到 4 之间的数字:'
    echo '你输入的数字为:'
    read num
    case $num in
        1)  echo '你选择了 1'
        ;;
        2)  echo '你选择了 2'
        ;;
        3)  echo '你选择了 3'
        ;;
        4)  echo '你选择了 4'
        ;;
        *)  echo '你没有输入 1 到 4 之间的数字'
        ;;
    esac

     

     

    break命令

    break命令允许跳出所有循环(终止执行后面的所有循环)。

    下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,需要使用break命令。

    #!/bin/bash
    while :
    do
        echo -n "输入 1 到 5 之间的数字:"
        read num
       
    case $num in
            1|2|3|4|5) echo "你输入的数字为 $num!"
            ;;
            *) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"
                break
            ;;
        esac
    done

  2. 函数:

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。

    举例:

    #!/bin/bash
    sayHi(){
        echo "hello 1906"
    }
    sayHi

     

    下面定义一个带有return语句的函数:

    #!/bin/bash

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

    函数参数

    在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...

    带参数的函数示例:

    #!/bin/bash
    funWithParam(){
        echo "第一个参数为 $1 "
        echo "第二个参数为 $2 "
        echo "第十个参数为 $10 "
        echo "第十个参数为 ${10} "
        echo "第十一个参数为 ${11} "
        echo "参数总数有 $# 个"
        echo "作为一个字符串输出所有参数 $* "
    }
    funWithParam 1 2 3 4 5 6 7 8 9 34 73

    注意:$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宰祖宣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值