shell脚本使用getopts自定义传入参数选项
2019独角兽企业重金招聘Python工程师标准>>>
使用getopts,示例如下:
//test.sh
# getopts :s:h表示这个命令接受2个带参数选项,分别是-h和-s
while getopts :s:h opt
docase $opt ins) echo "-s=$OPTARG";;:)echo "-$OPTARG needs an argument";;h) echo "-h is set";;*) echo "-$opt not recognized";;esac
done
在以上示例中,
1、执行
sh test.sh -h hellow -s sort
运行结果为
-h is set
2、执行如下
sh test.sh -s sort -h hellow
结果为
-s=sort
-h is set
重要信息:
getopts后面的字符串就是可以使用的选项列表,每个字母代表一个选项,后面带:的意味着选项除了定义本身之外,还会带上一个参数作为选项的值,比如d:在实际的使用中就会对应-d 30,选项的值就是30;getopts字符串中没有跟随:的是开关型选项,不需要再指定值,相当于true/false,只要带了这个参数就是true。如果命令行中包含了没有在getopts列表中的选项,会有警告信息,如果在整个getopts字符串前面也加上个:,就能消除警告信息了。
所有选项参数必须写在其它参数的前面,因为getopts是从命令行前面开始处理,遇到非-开头的参数,或者选项参数结束标记--就中止了,如果中间遇到非选项的命令行参数,后面的选项参数就都取不到了。
转载于:https://my.oschina.net/u/1432769/blog/769802
shell脚本使用getopts自定义传入参数选项相关推荐
- linux脚本外输入参数,shell 脚本中关于用户输入参数的处理
1.命令行参数 向shell脚本传递数据的最基本方式是使用命令行参数. (1) 读取参数 读取输入的参数的变量为位置参数,位置参数通过标准数字表示, 其中$0为程序名称,$1为第一个参数,$2为第二个 ...
- linux 读取命令行输入参数,shell脚本读取文件+读取命令行参数+读取标准输入+变量赋值+输出到文件...
读取url_list文件批量下载网页 url_list http://www.tianyancha.com/company/2412078287 http://www.4399.com/special ...
- shell脚本第一篇——自定义创建用户和批量创建用户
shell脚本第一篇--自定义创建用户和批量创建用户 1.用shell脚本建立Linux用户 # vim /root/user.sh #!/bin/bash #通过脚本自定义创建用户 read -p ...
- Shell脚本传递带有空格的参数
在另一博文<Shell脚本实现DB2数据库表导出到文件>中实现了通过脚本实现将DB2数据库导出到文件,需要传入七个参数,最后一个是一个带有空格字符串,所以传入的时候有点问题,会自动识别空格 ...
- linux shell脚本 报错dirname:无效选项 -- b 错误原因 解决方法
今天在写一个Shell脚本的时候,发现调试的时候会报一个错 [oracle@smidb11 autoawrrpt]$ . a.sh dirname:无效选项 -- b 请尝试执行"dirna ...
- Shell脚本对ps命令隐藏参数
缘起 我有一个备份的Shell脚本,传入用户名,密码,然后脚本开始备份数据库. 模拟备份的脚本 [lihuilin@lihuilin ~]$ cat backup.sh #!/bin/bash ech ...
- linux判断参数是否存在,检查bash shell脚本中是否存在输入参数
我需要检查输入参数的存在性.我有下面的剧本 if ["$1" -gt"-1" ] then echo hi fi 我得到 [: : integer expres ...
- linux 脚本 变量为空,Shell脚本中判断输入变量或者参数是否为空的方法
1.判断变量 复制代码 代码如下: read -p "input a word :" word if [ ! -n "$word" ] ;then echo ...
- shell脚本中if的相关参数
转自:http://blog.csdn.net/aaaaatiger/article/details/1713611 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 ...
- shell脚本触发java程序传参数
eods.sh nohup java -cp "./xxx.war/WEB-INF/lib/*:./xxx.war/WEB-INF/classes" com.gblfy.datat ...
最新文章
- lua编程简单实用入门教程,用NodeMCU在OLED上显示温湿度
- 十年,我的计算机生涯
- ConneR and the A.R.C. Markland-N CodeForces - 1293A(暴力)
- AliOS-Things Visual studio code helloworld 入门
- WebService生成客户端代理的工具WSDL参数介绍
- L2-004. 这是二叉搜索树吗?-PAT团体程序设计天梯赛GPLT
- Tasker to stop Poweramp control for the headset while there is an incoming SMS - frozen
- 语义化标签——HTML
- iText操作PDF基础
- AutoML之锦标赛选择
- 模拟电子技术基础第五版习题 视频讲解 模拟电子技术基础第五版答案
- 综合评价方法之秩和比法(RSR)
- 计算机数字模拟仿真软件,实时数字仿真系统
- 【Mark工具】一些好用的图片标注工具
- Ubuntu 20.04桌面文件夹图标消失及文件系统无法打开
- MPB:湖南师大尹佳组-抑菌圈和药敏实验研究益生菌拮抗病原菌和抗生素敏感性的方法...
- Metro 风格应用的导航设计
- 虚拟主机3种方式nginx/apache+跨域知识点整理
- Unity2d 坦克大战 (一)坦克移动、转向、皮肤切换
- 电脑应用·桌面设置面面观·各取所需(快速启动任务栏 右移问题)