Shell 预定义变量 ($0、$$、$?、$#、$* 含义)

  • 什么是 预定义变量 ?

    • 可以直接使用这些变量。

    • 不能直接为这些变量赋值。

    变量名含义
    $0当前所在的进程或脚本名
    $$当前运行进程的 PID
    $?获得上一条命令的执行状态,跟上上条命令无关,0 表示正常,1其他值 表示异常
    $#已加载的位置变量的个数,也就是执行脚本时,后面跟的参数个数
    $*所有位置变量的值,也就是执行脚本时,后面跟的参数
  • $? 举例:

    // 运行正常
    $ ls
    test.sh
    $ echo $?
    0
    
    // 运行异常
    $ ls dzm.txt
    ls: dzm.txt: No such file or directory
    $ echo $?
    1
    
  • 综合举例

    # 脚本内容
    echo $0
    echo $$
    echo $?
    echo $#
    echo $*
    
    $ sh test.sh aa bb cc
    test.sh
    33616
    0
    3
    aa bb cc
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

卡尔特斯

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

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

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

打赏作者

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

抵扣说明:

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

余额充值