python getopts_linux bash shell 中getopts 命令 和 python 中 getopt 函数的比较总结
在 python 中有个获取命令行参数的函数叫 getopt(args, shortopts, longopts=[])
通常我们使用的时候是如下的形式:
import sys
import getopt
opts,args=getopt.getopt( sys.args[1:], "ab:", ["help","name="] )
如果我们输入的命令参数是 -a -b1 --name=12 --help
返回的opts 值为 [('-a',''),('-b','1'),('--name','12'),('--help','')]
b之后的冒号和name后面的等号分别表示-b 和 --name附带参数
args 是其他参数,比如输入的命令参数是 -a -b1 --name=12 --help 555
那么返回的args 会是 ['555'] ,注意 555必须加在命令行参数的最后 , 如果加在 --help 之前, 则 --help 也会被当作 args来处理不会在opts中返回.
再说bash中的 getopts命令:
while getopts "ab:" options
do
case $option in
a)
...
done
该命令遍历命令行的 连命令(-a -b 这种叫连命令),并与option_str 即示例代码中的"ab:" 比较,如果匹配就返回 连命令的值,不匹配就返回?(注意转意),对于像b这样有参数的连命令 getopts还会额外有一个内部变量 $OPTARG 来表示. 当遍历完所有的命令行参数后,返回一个不等于0的状态值
getopts有两个隐含变量 一个叫 $OPTARG $OPTIND:
$OPTIND 每当 getopts 函数遍历每一个能匹配连命令(包括连命令的参数), 该值+1,遍历完第一个匹配连命令后$OPTIND的 值为2
$OPTARG 则是匹配到有参数的连命令后 参数的值
python getopts_linux bash shell 中getopts 命令 和 python 中 getopt 函数的比较总结相关推荐
- repo命令添加bin_Linux shell中getopts命令学习--实现一个添加yum源的脚本
这是本人第一次写博客,之前从一些开源技术网站上看到不少大牛和前辈们的文章,从中学习受益.本着开源界的奉献和学习精神,觉得有必要将自己的学习成果拿出来与大家一起交流分享,既当作是一种自我学习的总结也可能 ...
- linux中make命令大全,Linux中的命令 make -f 是什么意思
二.Makefile的文件名 默认的情况下,make命令会在当前目录下按顺序找寻文件名为"GNUmakefile"."makef ile"."Make ...
- fooview辅助功能 shell_列出所有Bash Shell内置命令的方法示例
前言 Shell有很多内置在其源代码中的命令.这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快.不同的Shell内置命令有所不同. 内置命令包含在 bash shell 本身里面 ...
- linux bash shell 判断变量是否在列表中
1. 语法 双中括号[[]]是bash shell中的关键词,相对于[]有以下特点和优势: [[ ]] 结构比[ ]结构更加通用.在[[和]]之间所有的字符都不会发生文件名扩展或者单词分割,但是会发生 ...
- 浅谈bash shell的种类以及linux系统中的profile和bashrc配置文件
相信不少玩过linux的人,看到诸如~/.bash_profile.~/.bashrc.~/.profile./etc/profile./etc/bashrc之类的文件,都会有似曾相识的感觉,依稀记得 ...
- 高级shell扩展---getopts命令
getopts getopts是linux系统中的一个内置变量,一般用在循环中.每当执行循环时,getopts都会检查下一个命令选项,如果这些选项出现在option中,则表示是合法选项,并将这些合法选 ...
- linux系统中ssh命令,Linux系统中SSH 命令的用法有哪些?
今天小编要跟大家分享的文章是关于Linux系统中SSH命令的用法有哪些?一个系统管理员可能会同时管理着多台服务器,这些服务器也许会放在不同的地方.要亲自一台一台的去访问来管理它们显然不是最好的方法,通 ...
- stata中计算公式命令_#stata中哪个命令和stats命令等价#stata中计算命令
f的临界值在stata中怎么输入命令计算 stata怎么用命令计算有几个变量 dis `c(k)'可以看到数据中含有的变量的个数. 不过这个命令会把"股票代码"和"日期& ...
- java 中linux命令参数说明,java中linux命令参数说明
java中linux命令参数说明 [2021-02-01 18:54:34] 简介: 建站服务器 这篇文章主要介绍了Apache中Virtual Host虚拟主机配置及rewrite模块中的重要参数 ...
最新文章
- Git复习(七)之自定义git、忽略特殊文件、配置文件
- python 按列名称筛选_python中实现excel的高级筛选
- 玩转ECS第5讲 | 弹性计算安全组最佳实践及新特性介绍
- cad lisp 画四边形_多年经验总结CAD技巧6
- 被遗忘和庸俗化的弗洛伊德:纪念弗洛伊德诞辰150周年(全文)
- python注释的用法(单and多行)
- 计算机网络安全应具备的功能,2016计算机专业知识:网络系统安全体系具备功能攻击方法...
- Eclipse配置默认的编码集为utf-8
- Linux中的pipe(管道)与named pipe(FIFO 命名管道)
- kernel 3.2.0 上加入自己的板级文件
- python发送电子邮件
- c语言 分开整数各个数位
- 如何用ICode来学习Python
- Spark电商离线数仓·用户模块指标统计
- 回荡口过新年,独特江南水乡年味体验 冰雪非遗贺新年,荡口古镇春节嗨不停!
- 计算机应用程序错误怎么解决办法,应用错误,教您怎么解决explorer.exe应用程序错误...
- 德硕ABeam三位顾问获得SAP认证,企业数字转型有保障
- Java中instanceof关键字的用法
- win10计算机休眠后无法唤醒,win10电脑休眠后无法唤醒的解决办法
- html是网页病毒吗,无弹窗浏览器 目前最具效果性的防网页病毒软件
热门文章
- mfc 判断文件夹复制完成_Python办公自动化|自动整理文件,一键完成!
- easyui有没有html编辑器,【easyui】kindeditor富文本(html编辑器)的使用
- jenkins自动化打包部署,jenkins执行sh脚本不退出问题
- 《移动项目实践》实验报告——Android自定义控件
- 牛客题霸 NC8 二叉树根节点到叶子节点和为指定值的路径
- Windows——Modern Standby(现代待机) S0改Suspend to RAM(待机到内存)S3睡眠解决方案(以机械革命F1 i5-11300H为例)
- 阿里云安全组——添加安全组规则(开放端口)
- Uniform String
- postgreSQL的索引
- VisualBox中增大linux硬盘空间的方法