对于shell脚本参数获取时的一点小技巧
问题如下:
根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3......
我有一个循环变量i
$i 取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数
就是$($i)的意思来取到第几个参数,当然$($i)是不好用的
当时纠结了好久,最后上百度提问,两位高手给出了答案:
1)
#!/bin/sh NUMBER=$# echo $NUMBER i= while [ $i -le $NUMBER ]
do a[$i]=$ #将数组a[i]赋值为$,即取得到第一个参数并将值存入a[] echo ${a[$i]} ((i++)) #数组后移一位,变为a[] shift #使用shift命令将参数后移一位,即此时的$1为第二个参数 done
数据都存在了数组 a[key] 里了
${a[key]} key 是 第几位 例如:a[1] 值为 $1
2)
#!/bin/bash
a=($@) #由$@取到所有参数,并将参数存入a
for i in ${a[@]};do #使用i在各个参数中循环
echo $i
done
来自:http://blog.sina.com.cn/s/blog_8043547601017622.html
对于shell脚本参数获取时的一点小技巧的更多相关文章
- Docker学习3-简单shell脚本安装mysql5.7与docker小技巧
前言 玩过Windows中的 .bat 的小伙伴是不是觉得很有意思呢,github中一键推送.同步拉取等等操作,哈哈,当然shell脚本也是很类似,可以运行一个脚本就可以自动给我们部署好环境啦!但是这 ...
- 使用 shell 脚本自动获取发版指标数据
问题背景 大一点的公司都会建立一套规章流程来避免低级错误,例如合入代码前必需经过同行评审:上线前必需提测且通过 QA 验证:全量前必需经过 1%.5%.10%.20%.50% 的灰度过程.尤其是最后一 ...
- shell脚本参数中有空格
shell脚本参数中有空格 在shell脚本中如果有空格的处理如下: sh test.sh "hello word" echo $1 得到的是hello,而不是hello word ...
- shell脚本中获取当前所在目录地址
shell脚本中获取当前所在目录如下 #!/bin/bash work_path=$() cd ${work_path} work_path=$(pwd) cd ${work_path}/src
- 通过web php 执行shell脚本,获取的结果与直接在命令行下获取的结果不同。
公司项目中的一项小功能,统计设备的连接数.其中用到shell脚本来获取已连接设备的统计.使用命令 /bin/netstat -an| grep ESTABLISHED | awk '{print $4 ...
- gdb调试运行时的程序小技巧
使用gdb调试运行时的程序小技巧 标签: 未分类 gdb pstack | 发表时间:2012-10-15 04:32 | 作者:士豪 分享到: 出处:http://rdc.taobao.com/bl ...
- shell脚本如何获取当前时间
在shell脚本里常常需要获取系统时间来处理某项操作,linux的系统时间在shell里是可以直接调用系统变量的如: 获取今天时期:`date +%Y%m%d` 或 `date +%F` 或 $(da ...
- shell 脚本之获取命令输出字符串以及函数参数传递
在ubuntu 14.04之后,所有的U盘挂载也分用户之分,最近很多操作也和U盘有关,所以就研究了一上午shell脚本函数以及字符串操作的方法. 字符串操作: 获取他的命令输出比较简单,打个简单的比方 ...
- Linux中执行脚本参数获取
Linux中变量$[#,@,0,1,2,*,$,?]含义 $# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $ ...
随机推荐
- Google搜索技术
命令 双引号 把搜索词放在双引号中,代表完全匹配搜索,也就是说搜索结果返回的页面包含双引号中出现的所有的词,连顺序也必须完全匹配.bd和Google都支持这个指令. 减号 减号代表搜索不包含减号后面的 ...
- js观察者模式
观察者模式存在观察者和被观察者 被观察者的状态发生改变,通知观察者调用观察者的update方法,观察者的update方法对被观察者的状态进行检测,做出相应的操作 被观察者存在接口attach,deta ...
- sharepoint 备份和还原site脚本
<个人积累,转载请注明出处> Backup-SPSite "http://www.abc.com/sites/TestWorkflowCenter" -path C:\ ...
- ASP的高效率的分页算法.net,php同样可以参考
一般习惯使用的有两种分页算法,一是传统的ADO分页,二是SELECT TOP分页算法.对于小型数据表,比如一两万的数据量的表,我倾向使用ADO算法,对于大型的数据表,则必须采用后者的算法了. 先来说说 ...
- 一个Notification 进度条插件(android,NJS实现,直接就可使用)
参考文章:http://ask.dcloud.net.cn/article/503 源码地址下载 如题,分享一个Notification 进度条插件(android,用js调用原生api实现,直接就可 ...
- python tab补全
一.python tab补全 前提:tab补全先检查readline包是否安装,未安装通过yum安装即可 [root@CentOS_11 day01]# rpm -qa |grep readliner ...
- OI中神奇的神器fillchar
传说,Pascal中有一个函数——fillchar.这是高手们装*用的利器,也是大家的神器(大家好才是真的好). 神器介绍: 百度百科说:“Fillchar是Turbo/Borland Pascal的 ...
- Mac 系统下安装 MySql
Mac原生没有带MySql,想要使用需要自己去安装. 下载. 首先去mysql官网下载安装包. 由于现在mysql对企业有服务,所以有所谓社区版(community)和企业版(enterprise), ...
- CentOS 安装jdk7
1.下载jdk http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 选择jdk ...
- React:用于搭建UI的JavaScript库
React https://facebook.github.io/react/index.html 2016-08-03 先吐槽一下.看过很多博客.教程.文章,一直想不通为什么大牛们介绍一种新技术一上 ...