Shell命令行位置参数详解与常用示例
时间:2026-08-15 | 作者:318050 | 阅读:0先把 Shell 里的位置参数捋清楚。
执行 Shell 脚本时,通常可以顺手带上一些参数。这些参数进入脚本后,就能用$n这样的形式来读取。
比如,$1 代表第一个参数,$2 代表第二个参数,后面依次类推。
函数调用也是同样的道理,也可以传参。不过,Shell 函数在这件事上的处理方式,和很多编程语言不太一样。
它没有严格意义上的形参、实参之分。定义函数时,也不需要提前写明参数名和参数个数。
换句话说,Shell 函数定义时本身不带参数。但真正调用函数时,却完全可以把参数传进去。
这些传入的内容,在函数内部依然是通过$n来接收。例如,$1 表示第一个参数,$2 表示第二个参数,依次往后排。
像这种通过$n来获取的参数,在 Shell 里就叫位置参数。
前面讲变量命名时提到过,变量名必须以字母或下划线开头,不能直接用数字开头。可位置参数偏偏就是数字形式,这显然不符合普通变量的命名规则。
所以,通常会把它们归到“特殊变量”这一类里。
除了 $n 之外,Shell 里还有 $#、$*、$@、$、$$ 这些特殊参数,下一节会继续展开。
1) 给脚本文件传递位置参数
下面编写代码,并命名为 test.sh:
#!/bin/bash echo "Language: $1" echo "URL: $2"
运行 test.sh,并附带参数:
[mozhiyan@localhost ~]$ cd demo [mozhiyan@localhost demo]$ . ./test.sh Shell http://c.biancheng.net/shell/ Language: Shell URL: http://c.biancheng.net/shell/
这里的Shell就是第一个位置参数,http://c.biancheng.net/shell/就是第二个位置参数。
多个参数之间用空格隔开。
2) 给函数传递位置参数
下面编写代码,并命名为 test.sh:
#!/bin/bash
#定义函数
function func(){
echo "Language: $1"
echo "URL: $2"
}
#调用函数
func C++ http://c.biancheng.net/cplus/
运行 test.sh:
[mozhiyan@localhost ~]$ cd demo [mozhiyan@localhost demo]$ . ./test.sh Language: C++ URL: http://c.biancheng.net/cplus/
可以看到,给函数传参时,函数内部同样使用$1、$2这样的形式来接收参数。
关于函数定义和调用的具体语法请访问:Shell函数定义和调用、Shell函数参数
注意事项
如果参数很多,达到或者超过 10 个,那么接收时就不能再直接写$n,而要改用${n}这种形式,比如 ${10}、${23}。
这里{ }的作用,是帮助解释器准确判断参数边界。这一点和变量使用时加{ }的效果完全一样。
要点小结
- $1、$2、$3... 表示第 1 个、第 2 个、第 3 个位置参数。
- 位置参数既可以传给脚本,也可以传给函数。
- Shell 函数定义时不写参数名,但调用时可以直接传参。
- 当参数序号达到或者超过 10 时,应使用
${n}形式。
下节展望
在 Shell 里,位置参数不仅可以单独取出某一个具体参数,还可以拿到全部参数列表,以及参数个数等信息。
下一节会把这些内容详细讲清楚。
来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 湖南省湘办通官方网站登录入口官方网址
- 时间:2026-08-16
-
- 鼠大侠设置两个坐标及交替点击操作方法
- 时间:2026-08-16
-
- PS中如何翻页到下一页
- 时间:2026-08-16
-
- PS下一页操作步骤详解教程
- 时间:2026-08-16
-
- 官方诉讼费用计算器在线使用入口
- 时间:2026-08-16
-
- 智学网学生端登录入口与网页版官方登录地址
- 时间:2026-08-16
-
- 日期计算器高效快捷的日期录入方法与技巧
- 时间:2026-08-16
-
- 192.168.1.1路由器管理后台登录入口设置详细操作步骤
- 时间:2026-08-16
精选合集
更多大家都在玩
热门话题
大家都在看
更多-
- 多智能体系统构建与部署实战:从原型到生产级落地
- 时间:2026-08-15
-
- PostgreSQL 16并行查询调优实战:执行计划与资源策略解析
- 时间:2026-08-15
-
- 阿里云建站产品怎么选:万小智AI建站与云企业官网区别及活动参考
- 时间:2026-08-15
-
- 年AI工具推荐精选:办公设计编程学习全场景指南
- 时间:2026-08-15
-
- 多Agent协作策略评测平台:回测过拟合检测与Walk-Forward全链路
- 时间:2026-08-15
-
- 年企业仓库管理系统选型指南与实施建议
- 时间:2026-08-15
-
- 云原生与边缘计算实战:少数民族双语考试中台重构方案
- 时间:2026-08-15
-
- RAG上线后总答非所问怎么办?黄金数据集与检索质量评测
- 时间:2026-08-15
