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

文章介绍了Shell脚本中位置变量(如$1-$9)的语法和使用,以及预定义变量如$0(脚本名)、$*(所有参数)、$#(参数数量)和$?(上一命令状态)的应用。强调了这些变量在脚本设计中的重要性及使用方法。
摘要由CSDN通过智能技术生成

一、位置变量:

        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

  • 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

  • 2、总结:

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值