Linux脚本中$#、$0、$1、$@、$*、$$、$?
2024-05-18 23:38:24
1.首先介绍一下这个几个参数的意义:
$#:传入脚本的参数个数;
$0: 脚本自身的名称;
$1: 传入脚本的第一个参数;
$2: 传入脚本的第二个参数;
$@: 传入脚本的所有参数;
$*:传入脚本的所有参数;
$$: 脚本执行的进程id;
$?: 上一条命令执行后的状态,结果为0表示执行正常,结果为1表示执行异常;
其中$@与$*正常情况下一样,当在脚本中将$*加上双引号作为“$*”引用时,此时将输入的所有参数当做一个整体字符串对待。比如输入参数有a b c三个参数,则“$*”表示“a b c”一个字符串。
2.测试
测试脚本test.sh
#!/bin/bash echo "脚本名称: $0" echo "第一个参数: $1" echo "第二个参数: $2" echo "参数个数: $#" echo "输入的参数:$*" for key in $* doecho $key; done for key in "$*"doecho $key doneecho "输入的参数:$@" for key in $@doecho $key; done for key in "$@"doecho $key; done echo "进程id: $$" echo "状态: $?"
3.执行脚本
sh test.sh a b
脚本名称: test.sh 第一个参数: a 第二个参数: b 参数个数: 2 输入的参数:a b a b a b 输入的参数:a b a b a b 进程id: 8682 状态: 0
转载于:https://www.cnblogs.com/quxiangxiangtiange/p/10290715.html
最新文章
- We wear culture:Google 艺术与文化项目带你探秘穿在身上的文化
- 第十六周项目一-小玩文件(2)
- smarty php5.5,php5中Iterator与smarty整合
- 信息系统项目管理师 案例1
- 【资源】太赞了!程序员应该访问的最佳网站都在这里了!
- opengl加载显示3D模型ogex类型文件
- oracle jet auto,如何启用sqlplus的AutoTrace功能
- php sql好处,关于php:使用Doctrine与SQL相比,使用DQL有什么好处?
- SSM框架入门学习记录
- WPF ----在UserControl的xaml里绑定依赖属性
- Codeforces Round #FF (Div. 2) D. DZY Loves Modification 贪心+优先队列
- vagrant 学习
- Oracle数据库下载安装和卸载简单说明
- IMO 2017 T1解答
- 开源和免费的gis软件工程索引
- AI生成新春祝福海报,AIGC从“炫技”走向日常
- C/C++ 函数出入口
- 查询mysql索引信息_数据查询优化之mysql索引
- 股票技术指标详解--移动平均线(MA)
- php dwz,ThinkPHP+DWZ之DWZ自带编辑器图片上传