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

在shell脚本中,特殊变量$#表示传递给脚本的参数个数,$0表示脚本本身的名字(即包含脚本的文件名),$@表示传递给脚本的所有参数列表。

具体解释如下:

1. $#:表示传递给脚本的参数个数。假设有一个脚本文件为test.sh,在命令行输入“./test.sh a b c”命令,则$#的值为3,因为传入了3个参数。

2. $0:表示脚本本身的名字(即包含脚本的文件名)。假设有一个脚本文件为test.sh,在命令行输入“./test.sh a b c”命令,则$0的值为“test.sh”。

3. $@:表示传递给脚本的所有参数列表。假设有一个脚本文件为test.sh,在命令行输入“./test.sh a b c”命令,则$@的值为“a b c”。

代码实现步骤:

1. 创建一个shell脚本文件,例如test.sh:

#!/bin/bash

echo "传入脚本的参数个数为:$#"
echo "脚本本身的名字为:$0"
echo "传递给脚本的所有参数列表为:$@"

2. 给test.sh设置执行权限:

chmod +x test.sh

3. 在命令行输入“./test.sh a b c”命令,执行脚本文件。

4. 程序输出:

传入脚本的参数个数为:3
脚本本身的名字为:./test.sh
传递给脚本的所有参数列表为:a b c

即可看到$#、$0、$@的值。

Related Posts

  • 在运维中如何确定故障的等级和责任分配
  • 建立基于 Serverless 的文档和图片在线转换服务非常容易
  • 重磅开年实验班,上云第一课,盛大推出!
  • “使用wmic命令查看计算机序列号”
  • “快速部署k8s集群的方法是使用kubeadm”
  • “如何解决在REDHAT7.2下启动docker失败的问题”
  • “设置双网卡绑定的CentOS 7.9”
  • 在Ubuntu系统中设置HTTP代理IP的步骤是什么
  • 虚拟化与容器化技术
  • 如何从Kubernetes中删除处于Terminating状态的命名空间
  • 速查常见病毒和木马进程表
  • 将Ubuntu的时间格式改为24小时制
  • 学习Docker的基础知识到实践应用(第四部分)
  • 总体介绍-08 KVM虚拟机配置
  • 如何用脚本批量添加Items到Microsoft 365开发
  • 生成分布式唯一ID的多种方法