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

最新文章

  1. We wear culture:Google 艺术与文化项目带你探秘穿在身上的文化
  2. 第十六周项目一-小玩文件(2)
  3. smarty php5.5,php5中Iterator与smarty整合
  4. 信息系统项目管理师 案例1
  5. 【资源】太赞了!程序员应该访问的最佳网站都在这里了!
  6. opengl加载显示3D模型ogex类型文件
  7. oracle jet auto,如何启用sqlplus的AutoTrace功能
  8. php sql好处,关于php:使用Doctrine与SQL相比,使用DQL有什么好处?
  9. SSM框架入门学习记录
  10. WPF ----在UserControl的xaml里绑定依赖属性
  11. Codeforces Round #FF (Div. 2) D. DZY Loves Modification 贪心+优先队列
  12. vagrant 学习
  13. Oracle数据库下载安装和卸载简单说明
  14. IMO 2017 T1解答
  15. 开源和免费的gis软件工程索引
  16. AI生成新春祝福海报,AIGC从“炫技”走向日常
  17. C/C++ 函数出入口
  18. 查询mysql索引信息_数据查询优化之mysql索引
  19. 股票技术指标详解--移动平均线(MA)
  20. php dwz,ThinkPHP+DWZ之DWZ自带编辑器图片上传

热门文章

  1. 关于PageRank的一些见解
  2. Python OpenCV人脸识别案例
  3. 你可能过于高估了机器学习算法能力,带你解读鲜为人知的数据泄露问题
  4. 无后端完成在线翻译功能
  5. Java条形码生成(128c)
  6. PHP|异常的使用,异常子类化的最佳实践
  7. Linux压缩解压缩命令
  8. 利用java反射调用类的的私有方法--转
  9. 中小企业应如何选择合适的数据保护工具?
  10. MongoDB 与传统数据库的对比