在 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 函数的比较总结相关推荐

  1. repo命令添加bin_Linux shell中getopts命令学习--实现一个添加yum源的脚本

    这是本人第一次写博客,之前从一些开源技术网站上看到不少大牛和前辈们的文章,从中学习受益.本着开源界的奉献和学习精神,觉得有必要将自己的学习成果拿出来与大家一起交流分享,既当作是一种自我学习的总结也可能 ...

  2. linux中make命令大全,Linux中的命令 make -f 是什么意思

    二.Makefile的文件名 默认的情况下,make命令会在当前目录下按顺序找寻文件名为"GNUmakefile"."makef ile"."Make ...

  3. fooview辅助功能 shell_列出所有Bash Shell内置命令的方法示例

    前言 Shell有很多内置在其源代码中的命令.这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快.不同的Shell内置命令有所不同. 内置命令包含在 bash shell 本身里面 ...

  4. linux bash shell 判断变量是否在列表中

    1. 语法 双中括号[[]]是bash shell中的关键词,相对于[]有以下特点和优势: [[ ]] 结构比[ ]结构更加通用.在[[和]]之间所有的字符都不会发生文件名扩展或者单词分割,但是会发生 ...

  5. 浅谈bash shell的种类以及linux系统中的profile和bashrc配置文件

    相信不少玩过linux的人,看到诸如~/.bash_profile.~/.bashrc.~/.profile./etc/profile./etc/bashrc之类的文件,都会有似曾相识的感觉,依稀记得 ...

  6. 高级shell扩展---getopts命令

    getopts getopts是linux系统中的一个内置变量,一般用在循环中.每当执行循环时,getopts都会检查下一个命令选项,如果这些选项出现在option中,则表示是合法选项,并将这些合法选 ...

  7. linux系统中ssh命令,Linux系统中SSH 命令的用法有哪些?

    今天小编要跟大家分享的文章是关于Linux系统中SSH命令的用法有哪些?一个系统管理员可能会同时管理着多台服务器,这些服务器也许会放在不同的地方.要亲自一台一台的去访问来管理它们显然不是最好的方法,通 ...

  8. stata中计算公式命令_#stata中哪个命令和stats命令等价#stata中计算命令

    f的临界值在stata中怎么输入命令计算 stata怎么用命令计算有几个变量 dis `c(k)'可以看到数据中含有的变量的个数. 不过这个命令会把"股票代码"和"日期& ...

  9. java 中linux命令参数说明,java中linux命令参数说明

    java中linux命令参数说明 [2021-02-01 18:54:34]  简介: 建站服务器 这篇文章主要介绍了Apache中Virtual Host虚拟主机配置及rewrite模块中的重要参数 ...

最新文章

  1. Git复习(七)之自定义git、忽略特殊文件、配置文件
  2. python 按列名称筛选_python中实现excel的高级筛选
  3. 玩转ECS第5讲 | 弹性计算安全组最佳实践及新特性介绍
  4. cad lisp 画四边形_多年经验总结CAD技巧6
  5. 被遗忘和庸俗化的弗洛伊德:纪念弗洛伊德诞辰150周年(全文)
  6. python注释的用法(单and多行)
  7. 计算机网络安全应具备的功能,2016计算机专业知识:网络系统安全体系具备功能攻击方法...
  8. Eclipse配置默认的编码集为utf-8
  9. Linux中的pipe(管道)与named pipe(FIFO 命名管道)
  10. kernel 3.2.0 上加入自己的板级文件
  11. python发送电子邮件
  12. c语言 分开整数各个数位
  13. 如何用ICode来学习Python
  14. Spark电商离线数仓·用户模块指标统计
  15. 回荡口过新年,独特江南水乡年味体验 冰雪非遗贺新年,荡口古镇春节嗨不停!
  16. 计算机应用程序错误怎么解决办法,应用错误,教您怎么解决explorer.exe应用程序错误...
  17. 德硕ABeam三位顾问获得SAP认证,企业数字转型有保障
  18. Java中instanceof关键字的用法
  19. win10计算机休眠后无法唤醒,win10电脑休眠后无法唤醒的解决办法
  20. html是网页病毒吗,无弹窗浏览器 目前最具效果性的防网页病毒软件

热门文章

  1. mfc 判断文件夹复制完成_Python办公自动化|自动整理文件,一键完成!
  2. easyui有没有html编辑器,【easyui】kindeditor富文本(html编辑器)的使用
  3. jenkins自动化打包部署,jenkins执行sh脚本不退出问题
  4. 《移动项目实践》实验报告——Android自定义控件
  5. 牛客题霸 NC8 二叉树根节点到叶子节点和为指定值的路径
  6. Windows——Modern Standby(现代待机) S0改Suspend to RAM(待机到内存)S3睡眠解决方案(以机械革命F1 i5-11300H为例)
  7. 阿里云安全组——添加安全组规则(开放端口)
  8. Uniform String
  9. postgreSQL的索引
  10. VisualBox中增大linux硬盘空间的方法