Shell变量:位置变量&预定义变量

一、位置变量:

        1、位置变量语法:

                命令 参数1 参数2 参数3.........9以后特殊定义

                $0 $1 $2 $3 $4 $5 $6 $7 $8 $9 ....

        2、示例:

  •         需求:制定脚本程序,用户自行输入两门学科成绩(整数),自动算出平均分。

  • [root@localhost ~]# vim avg.sh    #制作脚本
    #!/bin/bash
    echo -n "平均成绩是:"
    echo "($1+$2)/2" | bc
    
    
    [root@localhost ~]# chmod +x avg.sh     #脚本授权
    
    
    [root@localhost ~]# ./avg.sh 60 70    #测试脚本
    平均成绩是:65

    Shell变量:位置变量&预定义变量_第1张图片

  • Shell变量:位置变量&预定义变量_第2张图片

  • 3、总结:

    • 1、位置变量就是$1,$2,$3,$4

    • 2、位置变量预先已经被定义过了。

    • 3、用户使用时,必须携带参数。

    • 4、位置变量不是程序设计的唯一方法。比如read也可以。 

二、预定义变量:

        $0 脚本名/程序名

  • $* 所有的参数

  • $# 参数的个数

  • $? 上一个程序的返回值(0是成功,非0失败)

  • $$ 程序的PID

  •     1、示例:

  • [root@localhost ~]# vim sum.sh     #定义脚本
    echo "用户输入的第1个参数是:$1 "
    echo "用户输入的第2个参数是:$2 "
    echo "用户输入的第3个参数是:$3 "
    echo "用户输入的第4个参数是:$4 "
    echo "用户输入的第5个参数是:$5 "
    echo "用户输入的第6个参数是:$6 "
    echo "该程序名为:$0"
    echo "该程序携带的所有参数是:$*"
    echo "该程序的参数个数是:$#"
    echo "该程序的进程号是:$$"
    
    
    [root@localhost ~]# ./sum.sh 11 22 33 44 55 66 77 88 99    #调用脚本
    用户输入的第1个参数是:11 
    用户输入的第2个参数是:22 
    用户输入的第3个参数是:33 
    用户输入的第4个参数是:44 
    用户输入的第5个参数是:55 
    用户输入的第6个参数是:66 
    该程序名为:./sum.sh
    该程序携带的所有参数是:11 22 33 44 55 66 77 88 99
    该程序的参数个数是:9
    该程序的进程号是:111298
    [root@localhost ~]# echo $?
    0

    Shell变量:位置变量&预定义变量_第3张图片

  • Shell变量:位置变量&预定义变量_第4张图片

  • 2、总结:

    • 1、这两类变量,在设计系统时就已经定义好了。

    • 2、需要使用时,直接调用即可。

 

你可能感兴趣的:(Shell,linux,bash)