当前位置: 首页 > news >正文

【学习分享】shell基础-参数传递

参数传递

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为 $nn 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数。

例如可以使用 $1、$2 等来引用传递给脚本的参数,其中 $1 表示第一个参数,$2 表示第二个参数,依此类推

 #!/bin/bashecho “$0” #输出脚本名称 包含路径echo "$1" #输出第一个参数 后续的参考上述概念

特殊字符释义:

  • $#:传递到脚本的参数个数(例如:传递的参数为 a b 从,调用该命令,输出3)

  • $*:把所有参数以字符串的形式都传递到脚本

  • $$:脚本运行的当前进程ID号

  • $!:后台运行的最后一个进程的ID号

  • $@:与$*有点相似,在最后具体说明差异

  • $-:显示shell当前选项

  • $?:显示最后命令的退出状态,0表示没有任何错误,其他值是有错误的

$* 与 $@ 区别:

  • 相同点:都是引用所有参数。

  • 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。

http://www.lqws.cn/news/145765.html

相关文章:

  • 数据结构第八章(二)-交换排序
  • 【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信拓扑与操作 BR/EDR(经典蓝牙)和 BLE
  • 软件测试全攻略:Postman工具的使用
  • Apache Druid 架构深度解析:构建高性能分布式数据存储系统
  • BeeWorks 协同办公能力:局域网内企业级协作的全场景重构
  • Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
  • v1.0.1版本更新·2025年5月22日发布-优雅草星云物联网AI智控系统
  • BIM Revit教程(十一)如何使用机器学习实现 MEP 布局自动化?
  • 破局新能源消纳难题!安科瑞智慧能源平台助力10KV配电网重构未来
  • 上门服务小程序会员系统框架设计
  • 余氯传感器在智慧水务系统中如何实现IoT集成
  • iOS 项目怎么构建稳定性保障机制?一次系统性防错经验分享(含 KeyMob 工具应用)
  • sentinel规则持久化
  • 「数据分析 - Pandas 函数」【数据分析全栈攻略:爬虫+处理+可视化+报告】
  • 重启路由器ip不变怎么回事?原因分析与解决方法
  • Java Lambda表达式深度解析:从入门到实战
  • 探秘 MyBatis:开启你的数据库操作「智能之旅」
  • 家庭智能监控系统的安全性
  • Spring Boot 常用注解面试题深度解析
  • Java + Spring Boot + Mybatis 插入数据后,获取自增 id 的方法
  • QT开发技术【ffmpeg + QAudioOutput】音乐播放器 完善
  • 自定义事件wpf
  • 构建云原生安全治理体系:挑战、策略与实践路径
  • 解锁FastAPI与MongoDB聚合管道的性能奥秘
  • 动态规划(3)
  • 开关机、重启、改密、登录:图解腾讯云CVM日常管理核心操作,轻松掌控你的云主机
  • 【图片识别改名】如何批量将图片按图片上文字重命名?自动批量识别图片文字并命名,基于图片文字内容改名,WPF和京东ocr识别的解决方案
  • App使用webview套壳引入h5(二)—— app内访问h5,顶部被手机顶部菜单遮挡问题,保留顶部安全距离
  • nano编辑器的详细使用教程
  • 结合PDE反应扩散方程与物理信息神经网络(PINN)进行稀疏数据预测的技术方案