当前位置: 首页 > 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.xdnf.cn/news/894439.html

相关文章:

  • 使用反射对任意对象进行二进制序列化的程序
  • 行内样式:深入解析与应用指南
  • Vue.js应用结合Redis数据库:实践与优化
  • 更改安卓虚拟机屏幕大小
  • ICLR文章如何寻找页码
  • 【高频面试题】快慢指针及相关应用
  • 客户体验数据使用的三种视角——场景视角
  • 等比数列的概念及性质02
  • 沉金电路板工艺解析:从原理到应用的全面指南
  • 2025年06月05日Github流行趋势
  • RK3588 InsightFace人脸识别移植及精度测试全解析
  • 对象数组练习(增删改查)
  • Spring AI(10)——STUDIO传输的MCP服务端
  • 低功耗高安全:蓝牙模块在安防系统中的应用方案
  • 视觉前沿算法复现环境配置1——2025CVPR风格迁移网络SaMam
  • 【element-ui】el-autocomplete实现 无数据匹配
  • 线段树~~~
  • Mentalab Hypersync 可实现多被试同步扫描、多模态研究及无线事件标记的高精度无线同步
  • 《Sora模型中Transformer如何颠覆U-Net》
  • BugKu Web渗透之好像需要密码
  • 工业相机镜头焦距与传感器尺寸对拍摄效果的影响
  • 生成式人工智能综述1——文本生成
  • SQL知识合集(二):函数篇
  • [蓝桥杯]通电
  • 继MySQL之后的技术-JDBC-从浅到深-02
  • PS--钢笔工具的用法
  • YOLOv11 | 注意力机制篇 | 可变形大核注意力Deformable-LKA与C2PSA机制
  • Android Compose PrimaryTabRow、SecondaryTabRow (TabRow)自定义
  • PH热榜 | 2025-06-05
  • zynq远程更新程序