linux shell变量$#,$@,$0,$1,$2的含义解释
变量说明:
$$ Shell本身的PID(ProcessID)
$! Shell最后运行的后台Process的PID
$? 最后运行的命令的结束代码(返回值)
$- 使用Set命令设定的Flag一览
$* 所有参数列表。 所有的参数被认为是一个字符串
$@ 所有参数列表。参数是独立的字符串
$# 添加到Shell的参数个数
$0 Shell本身的文件名
$1~$n 添加到Shell的各参数值。$1是第1个参数、$2是第2个参数…。
通过一个脚本,来看看各个变量的效果
#!/bin/sh ## RustFisher echo "----------------------" echo "PID: \$$ $$" echo "option numbers: \$# $#" echo "last return: \$? $?" echo "all parameters: \$* $*" echo "all parameters: \$@ $@" echo "file name: \$0 $0" echo "1st param: \$1 $1" echo "2nd param: \$2 $2" echo "3rd param: \$3 $3" echo "4th param: \$4 $4" echo "9th parem: \$9 $9" echo "-----------------------" index= echo "get args by \"\$@\":" for arg in "$@" do echo "Arg #$index=$arg" let "index+=1" done echo "-----------------------" index= echo "get args by \"\$*\":" for arg in "$*" do echo "Arg #$index=$arg" done echo "-----------------------"
输出结果:
$ sh show.sh dont "worry be" happy ---------------------- PID: $$ option numbers: $# all parameters: $* dont worry be happy all parameters: $@ dont worry be happy show.sh 1st param: $ dont 2nd param: $ worry be 3rd param: $ happy 4th param: $ 9th parem: $ ----------------------- get args by "$@": Arg #=dont Arg #=worry be Arg #=happy ----------------------- get args by "$*": Arg #=dont worry be happy -----------------------
随机推荐
- elasticsearch系列(五)score
概述 score在ES中有着很重要的作用,有了它才有了rank,是验证文档相关性的关键数据,score越大代表匹配到的文档相关性越大 官方解释 查询的时候可以用explain来展示score的计算过程 ...
- 百度导航试用 vs 高德导航
听说百度导航免费了,下载试用了一下: HUD模式不错,但是需要一个手机支架或挂钩.尤其是HUD景象模式,夜间把手机平放,通过前挡风玻璃反射看.这个功能有点乔布斯的感觉了. 不过路径规划还差一点,和凯立 ...
- 原生和jQuery的ajax用法
jQuery的ajax方法: $.ajax({ url:'/comm/test1.php', type:'POST', //GET async:true, //或false,是否异步 data:{ n ...
- EF Core学习Code First
下面通过实例来学习EF Core Code First,也就是通过EF Core迁移来完成从模型生成数据库. 本实例使用EntityFrameworkCore SQLite 数据库进行介绍,大家也可以 ...
- Java对象与类中的一个小练习
一直在Eclipse里做练习.是做一个练习,执行一个的那种.刚刚学习了Java的对象与类,练习中把类和执行放在同一包下的两个.java文件里面了.是可以执行的.(Get) 相关代码: public c ...
- 匿名属性 anonymous property
利用匿名属性可以用很简洁的语法来自动声明不可变(immutable)的元组(tuple)类型. 属性:在字段用来表示类型和对象的状态的前提下,希望状态不被随意的更改,字段一般应该设置为private, ...
- php访问数据库$result=$mysql_qurey('')判断是否是空值
在访问数据库后得到result值,前提是$relust为true,就是没有发生错误连接情况,但是查询的条件由于不满足导致返回值为空,此时判断就不能用!来决定是否有返回数据了,经过书籍搜索,用resul ...
- JAVAEE学习路线分享
今天把我的教学经验分享给大家.适合大多数人的学习路线.注:目前作者已经转行做java培训. 首先是培养兴趣.先开始学习HTML知识.也就是做网页,从这里开始比较简单,就是几个标签单词需要记住. 接着开 ...
- @JsonIgnoreProperties忽略转换到json的属性
bean转换到json忽略指定属性 @JsonIgnoreProperties(value={"attrName"})
- 如何使用Node.js编写命令工具——以vue-cli为例
vue-cli全局安装之后,提供了vue命令和vue init.vue list.vue build三个子命令,通过命令可以搭建基于vue.js的脚手架项目.本文简单介绍一下这些命令是如何实现的. v ...