shell

1. $0:脚本的名字

  • $0 就是脚本的名称。比如你运行了一个叫 test.sh 的脚本,$0 就是 test.sh

2. $1$2$3……:脚本的参数

  • 当你运行脚本时,如果后面跟了参数,比如 ./test.sh a b c,那么 $1a$2b$3c

3. $#:参数的数量

  • $# 是脚本接收到的参数个数。比如上面的例子中,$# 就是 3

4. $*:所有参数的集合

  • $* 是所有参数的值,作为一个整体。比如上面的例子中,$* 就是 a b c

5. $?:上一条命令的返回值

  • $? 是上一条命令执行后的结果状态。比如,如果命令成功,$?0;如果失败,$? 是一个非零值。

示例脚本

假设我们有一个脚本 test.sh,内容如下:

bash

复制

#!/bin/bash

# 打印脚本名称
echo "脚本名称是: $0"

# 打印参数数量
echo "参数数量是: $#"

# 打印第一个参数
echo "第一个参数是: $1"

# 打印第二个参数
echo "第二个参数是: $2"

# 打印所有参数
echo "所有参数是: $*"

运行脚本

运行脚本时,我们传入一些参数:

bash

复制

./test.sh hello world

输出结果

运行后,脚本会输出:

复制

脚本名称是: ./test.sh
参数数量是: 2
第一个参数是: hello
第二个参数是: world
所有参数是: hello world

再看 $?

假设我们运行一个命令并检查它的返回值:

bash

复制

ls /nonexistent_directory
echo "命令的返回值是: $?"

如果目录不存在,ls 会报错,$? 的值可能是 2(表示失败)。

总结

这些变量是用来处理脚本参数和命令返回值的:

  • $0 是脚本的名字。

  • $1$2 是脚本的第1个、第2个参数。

  • $# 是参数的数量。

  • $* 是所有参数的值。

  • $? 是上一条命令的返回值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值