美文网首页生物信息学生物信息学我用 Linux
Linux编程之变量1:bash变量与变量分类-2

Linux编程之变量1:bash变量与变量分类-2

作者: 曹务强 | 来源:发表于2017-12-06 23:41 被阅读19次

    6.位置参数变量

    位置参数变量就是bash将传递给脚本的参数,按照位置不同,保存在不同的位置变量中,以便于脚本调用这些变量。

    shell中的位置参数变量及其作用见下图:


    image

    其中,$n是最重要的一个位置参数变量。举个例子,:

    #!/bin/bash
    num1=$1
    num2=$2
    sum=$(($num1 + $num2))
    echo $sum
    

    将上述代码保存在test1.sh中,执行结果如下:

    image

    需要注意的是,在执行命令时,需要在执行的文件后面加上要运算的数值。执行程序后,程序会把第一个数值38赋给num1,把第二个值33赋给num2,并计算两个数值的和。

    $*$@都代表命令行中的所有参数,只不过$*是把所有参数看做一个整体,$@是把每个参数区分对待,而$#代表命令行中所有参数的个数。

    举个例子:

    #!/bin/bash
    for i in $*
        do
            echo $i
        done
        
    for i in $@
        do
            echo $i
        done
    
    for i in $#
        do
            echo $i
        done
    

    将以上代码保存到test2.sh中,执行结果如下:

    image

    $*循环只返回一行结果,说明该循环只执行了一次,$@返回6行结果,说明循环执行了6次,而$#返回了后面参数的个数,循环执行了1次。

    7.预定义变量

    系统预先定义的变量简称为预定义变量,是由系统预先定义的一组变量,这些变量通常用于保存与系统 / 命令等有关的信息。预定义变量由系统自动生成 / 维护,用户无需修改其值。

    常用的预定义变量:

    image

    8.read:接受键盘输入

    read [选项] [变量名]
    选项:

    • -p "提示信息":在等待read输入时,输出提示信息
    • -t 秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间
    • -n 字符数:read命令只接受指定的字符数,就会执行
    • -s:隐藏输入信息的数据,适用于机密信息的输入

    举个例子:

    #!/bin/bash
    read -p "please input your name: " name
    echo -e "\n" #换行
    echo "I know your name is"$name
    

    将以上代码存入read.sh中,执行结果如下:

    image

    相关文章

      网友评论

        本文标题:Linux编程之变量1:bash变量与变量分类-2

        本文链接:https://www.haomeiwen.com/subject/lterixtx.html