shell脚本中$#、$0、$@等特殊变量的含义

讲一讲在shell中一些特殊变量的涵义,首先来看一个脚本:

#!/bin/sh
echo "\$#:$#"
echo "\$0:$0"
echo "\$1:$1"
echo "\$2:$2"
echo "\$@:$@"
echo "\$*:$*"
echo "\$$:$$"
echo "\$?:$?"

保存脚本为: test.sh,来看下执行结果

test.sh执行结果 【by 陆小K网络工作室 】

从结果我们可以看出:

$# 传给脚本的参数个数
$0 脚本本身的名字
$1 传递给该shell脚本的第1个参数
$2 传递给该shell脚本的第2个参数
$@ 传给脚本的所有参数的列表
$* 以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 脚本运行的当前进程ID号
$? 命令执行结果反馈,0表示执行成功,其余数字表示执行不成功。

脚本名称叫test.sh 入参三个: 1 2 3
运行test.sh 1 2 3后
$*为"1 2 3"(一起被引号包住)
$@为"1" "2" "3"(分别被包住)
$#为3(参数数量)
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值