使用getopts处理输入参数
在编写shell脚本中,需要输入参数,使用过程中,getopts更加方便。可以很好的处理用户输入的参数和参数值。
参加如下一段脚本:
#!/bin/bash while getopts ":a:p:c:e" opt docase $opt ina)echo "--- -a ---"echo $OPTARG;;p)echo "--- -p ---"echo $OPTARG;;c)echo "--- -c ---"echo $OPTARG;;e)echo "--- -e ---" echo $OPTARG;;?)echo "-a -p -c -e"exit 1;;esac done
linux-UMLhEm:/home/test/shell # ./option.sh -e --- -e ---linux-UMLhEm:/home/test/shell # ./option.sh -e abc --- -e ---linux-UMLhEm:/home/test/shell # ./option.sh -a test -p ok --- -a --- test --- -p --- ok linux-UMLhEm:/home/test/shell # ./option.sh -a test -p --- -a --- test -a -p -c -e linux-UMLhEm:/home/test/shell # ./option.sh -a -a -p -c -e linux-UMLhEm:/home/test/shell #
while getopts "a:p:c:e" opt
linux-UMLhEm:/home/test/shell # ./option.sh -a
./option.sh: option requires an argument -- a
-a -p -c -e
linux-UMLhEm:/home/test/shell # ./option.sh -a test -p ok
--- -a ---
test
--- -p ---
ok
linux-UMLhEm:/home/test/shell # ./option.sh -a test -p
--- -a ---
test
./option.sh: option requires an argument -- p
-a -p -c -e
转载于:https://www.cnblogs.com/xingmuxin/p/8435542.html
使用getopts处理输入参数相关推荐
- SQL Server存储过程输入参数使用表值
在2008之前如果我们想要将表作为输入参数传递给SQL Server存储过程使比较困难的,可能需要很多的逻辑处理将这些表数据作为字符串或者XML传入. 在2008中提供了表值参数.使用表值参数,可以不 ...
- 终端输入参数:argparse和sys.argv[]的用法
argparse的用法 fun_test.py的代码: #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Intr ...
- 调用script方法_自己撸一个代码生成器输入参数和方法
在[CodeSmith快速入门之一:初次接触CodeSmith]中,我们实现了最简单的模板,但是模板中的内容无法由用户的输入决定. 假定你女朋友要你在新年的时候说10次"I LOVE YOU ...
- 检查Bash Shell脚本中输入参数的存在
我需要检查输入参数的存在. 我有以下脚本 if [ "$1" -gt "-1" ]then echo hi fi 我懂了 [: : integer expres ...
- 一、静态工厂的第四个优点是返回对象的类可以根据输入参数的不同而不同。...
静态工厂的第四个优点是返回对象的类可以根据输入参数的不同而不同. 声明的返回类型的任何子类都是允许的. 返回对象的类也可以随每次发布而不同. EnumSet类(条目 36)没有公共构造方法,只有静态工 ...
- shell脚本判断输入参数个数
if [ $# != 1 ] then echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" echo "!! ...
- std输入参数太多matlab,错误使用函数,输入参数太多怎么解决
请各位大神帮帮忙,实在想不明白问题在哪.我想用二分法求零点,待求函数为HS(t)的调用函数.代码如下 主程序是这个: %二分法迭代求解思路 %初始化 clc cla clear all close a ...
- 输入参数_MyBatis中的输入/输出参数
MyBatis的输入/输出参数 输入参数 MyBatis中的Dao映射配置中的parameter属性表示输入参数类型,它对应Dao接口方法的参数类型有三种: 基本数据类型:如int.char等 < ...
- 未能使用“Csc”任务的输入参数初始化该任务
今天.NetCore2.1版本,建立Asp.net Core web应用程序项目时,报以下错误: 未能使用"Csc"任务的输入参数初始化该任务. "Csc"任务 ...
最新文章
- 新一代垃圾回收器ZGC的探索与实践
- IO Streams:缓冲流
- 图像语义分割:U-Net网络和PSP网络
- 蒋涛,CSDN创始人,俺村的骄傲
- 深度学习(08)-- Residual Network (ResNet)
- 25 MM配置-采购-无物料主数据的项目输入帮助
- 高性能HTTP加速器Varnish(性能调优篇)
- Linux 信息的各种查询(系统发行版本、内核版本、系统位数)
- Angular4---环境配置安装
- 使用Java实现简单串口通信
- 设计模式:Builder模式
- 围观了张一鸣近10年的微博,我整理了这231条干货
- 东北大学计算机学院教授,东北大学之计算机系
- 为什么说程序员做外包没前途?
- 关于vue项目表单验证身份证号的正则表达式
- vue3实现表格单元格可编辑
- MyEclipse快捷键Alt+Shift+s详解
- Java之------常用的设计模式
- 你当前无权访问该文件夹 解决你当前无权访问该文件夹拒绝你访问该文件夹
- java visibility_CSS visibility属性
热门文章
- 《C++面向对象高效编程(第2版)》——导读
- Bootstrap——优秀的开源前端框架
- Cisco Catalyst交换机密码恢复策略
- 模仿github网页前端HTML,仿github404页面特效
- modelsim 自动化 独立仿真vivado ip核工程
- java自定义sql查询插件,Mybatis插件plugin应用测试,替换查询sql
- mysql加索引优化sql_MySQL添加索引优化SQL
- 没有找到mysql。sock_linux系统安装mysql数据库
- python读取txt文件并画图
- 华为云携手秒拍,云+AI助力短视频加速发展