位置: 编程技术 - 正文

bash shell命令行选项与修传入参数处理(bash linux命令)

编辑:rootadmin

在编写shell程序时经常需要处理命令行参数,本文描述在bash下的命令行处理方式。选项与参数:如下命令行: -f为选项,它需要一个参数,即config.conf, -v 也是一个选项,但它不需要参数。--prefix我们称之为一个长选项,即选项本身多于一个字符,它也需要一个参数,用等号连接,当然等号不是必须的,/home可以直接写在--prefix后面,即--prefix/home,更多的限制后面具体会讲到。在bash中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景。* 手工处理方式* getopts* getopt依次讨论这三种处理方式。1,手工处理方式在手工处理方式中,首先要知道几个变量,还是以上面的命令行为例:例子:执行./test.sh -f config.conf -n 会打印:-f config.conf -n #这是"$*"的输出-f #以下为$@的输出config.conf-n所以,手工处理的方式即对这些变量的处理。因为手工处理高度依赖于你在命令行上所传参数的位置,所以一般都只用来处理较简单的参数。(脚本学堂 www.jbxue.com 编辑整理)例如:./test.sh 而很少使用./test -n 这种带选项的方式。 典型用法为:为什么要使用 x$1 != x 这种方式来比较呢?想像一下这种方式比较:if [ -n $1 ] #$1不为空但如果用户不传参数的时候,$1为空,这时 就会变成 [ -n ] ,所以需要加一个辅助字符串来进行比较。手工处理方式能满足大多数的简单需求,配合shift使用也能构造出强大的功能,但在要处理复杂选项的时候建议用下面的两种方法。2. getopts/getopt处理命令行参数是一个相似而又复杂的事情,为此,c提供了getopt/getopt_long等函数,c++的boost提供了options库,在shell中,处理此事的是getopts和getopt.getopts和getopt功能相似但又不完全相同,其中getopt是独立的可执行文件,而getopts是由bash内置的。先来看看参数传递的典型用法:先来看getopts,它不支持长选项。使用getopts非常简单:现在就可以使用:./test.sh -a arg -b -c 或./test.sh -a arg -bc来加载了。应该说绝大多数脚本使用该函数就可以了,如果需要支持长选项以及可选参数,那么就需要使用getopt.getopt自带的一个例子:比如使用./test -a -b arg arg1 -c 你可以看到,命令行中多了个arg1参数,在经过getopt和set之后,命令行会变为:-a -b arg -c -- arg1$1指向-a,$2指向-b,$3指向arg,$4指向-c,$5指向--,而多出的arg1则被放到了最后。3,总结一般小脚本手工处理也就够了,getopts能处理绝大多数的情况,getopt较复杂,功能也更强大。

推荐整理分享bash shell命令行选项与修传入参数处理(bash linux命令),希望有所帮助,仅作参考,欢迎阅读内容。

bash shell命令行选项与修传入参数处理(bash linux命令)

文章相关热门搜索词:shell中bash,linux bash shell,bash执行命令,bash shell环境下ctrl+z,bash shell 语法,bash命令用法,linux bash shell,bash shell 语法,内容如对您有帮助,希望把文章链接给更多的朋友!

shell脚本命令行参数简介 之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员进行交互。bashshell提供了命令行参数添加在命令后面的数据值)、命令行选项修改命令

linux shell命令行参数用法详解 习惯使用linux命令行来管理linux系统,例如:$date二::CST$用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统。

linux shell命令行选项与参数用法详解 问题描述:在linuxshell中如何处理tail-naccess.log这样的命令行选项?在bash中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景。1

标签: bash linux命令

本文链接地址:https://www.jiuchutong.com/biancheng/374818.html 转载请保留说明!

上一篇:shell命令行参数用法简介(shell命令行参数个数)

下一篇:shell脚本命令行参数简介(shell脚本命令行参数)

  • 个人所得税劳务报酬范围
  • 小微企业企业所得税税率变化
  • 增值税的账务处理 月末怎么结转 案例
  • 以前年度损益调整结转到哪里
  • 报税期能不能开发票
  • 认缴出资股权转让的法律责任
  • 发票丢了企业所得怎么办
  • 报销筹建期间的房租押金怎么做会计分录?
  • 公司和员工之间
  • 把公司的设备弄坏了怎么办
  • 预收账款发货
  • 以前年度损益调整属于哪类科目
  • 工作服清洗费要交个税那
  • 一般纳税人可以开3%的发票吗
  • 营改增后工程税收怎么计算
  • 简易计税的收入怎么做账
  • 含税价与不含税价哪个便宜
  • 小规模纳税人3%减按1%的账务处理
  • 小规模附加税减免政策2023
  • 子公司资不抵债
  • 有未分配利润就有盈余返还吗?
  • 一次性领取的年金 税率表
  • 银行存款账不平怎么办
  • 在线网速测试需要付费吗
  • 受限制用户怎么解决
  • 其他业务收入产品包括
  • 前端项目中遇到的问题,如何解决
  • Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
  • Salzburg with Salzach river, Austria (© MacEaton/Alamy)
  • 计算机网络拓扑结构有哪些
  • Calanques de Piana岩层上的一个心形洞,法国科西嘉岛 (© joningall/Getty Images)
  • 企业的存货按照计划成本核算,期初
  • 信用减值损失会影响所有者权益吗
  • 什么是长期股权投资法
  • 什么是企业年报 汇算 加计
  • 结转成本费用
  • 商业汇票的行为有哪些
  • 固定资产入账及摊销方法
  • 织梦网站怎么添加关键词
  • MongoDB db.serverStatus()输出内容中文注释
  • 员工预支款项及报销流程
  • 主营业务收入含义
  • 购买图书的会计账务处理
  • 过路费报销计入什么科目
  • 劳务维修费怎么开票
  • 小规模纳税人现代服务税率
  • sqlyog配置
  • sqlserver的replace
  • 固定资产一次性扣除政策
  • 什么情况需要个人所得税
  • 合伙企业怎么建账
  • 电商刷单返现如何做账务处理合适?
  • 增值税零税率发票怎么开
  • 一般纳税人进项票是普票可以抵扣吗
  • 收到个人款怎么做分录
  • 营业利润为负数表示什么
  • 建筑工程公司需要哪些资质证书
  • 购买农副产品抵扣进项税的规定
  • 银行付款退回重付怎么办
  • 库存结转成本如何计算
  • 小规模小微企业免税销售额
  • 删除数据库重复
  • 分配服务器失败
  • debian7安装教程
  • 在Linux系统中安装虚拟window
  • 启动windows安全中心
  • win7系统如何关闭开机自动启动软件
  • linux gtk+
  • java4Android(15)处理流的使用示例、装饰者设计模式、节点流和处理流的关系
  • jquery keydown
  • 归档 oracle
  • 浅谈是什么意思
  • 用python写一个程序
  • unity-gain
  • jquery怎么修改样式
  • python,web
  • 登录上海电子税务局单位社保查询不到当月未交的
  • 如何推进社会治理
  • 重庆市非住宅交易税费
  • 办理企业步骤
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设