x-1 - 扩展:Linux进程长参数编程

---- 整理自狄泰软件唐佐林老师课程

查看所有文章链接:(更新中)Linux系统编程训练营 - 目录

1. 短选项扩展编程

1.1 再论进程参数(短选项)

注释:进程参数 多数情况下也会称作 启动参数命令行参数

  • 选项,选项值,操作数 组成
  • 选项由短横线( - )开始,选项名必须是单个字母或单个数字字符
  • 选项可以有选项值,选项与选项值之间可用空格分隔( -o test <== >-otest )
  • 如果多个选项均无选项值,可合而为一( -a -b -c <==> -abc )
  • 既不是选项,也不能作为选项值的参数是操作数
  • 第一次出现的双横线( – )用于结束所有选项,后续参数为操作数

1.2 进程短选项示例

  • 规则: if:s::
    • s:: 表示 -s 不一定需要选项值,若有选项值只能以 -svalue 的方式指定
  • 示例:

在这里插入图片描述

【参看链接】:x-1 - 扩展:进程长参数编程 / 00短选项扩展 / short.c

在这里插入图片描述

2. 进程长参数编程

2.1 进程长参数示例

在这里插入图片描述

2.2 进程长参数规范

  • 由选项,选项值,操作数组成
  • 选项由双横线( – )开始,选项名可以是有意义的字符序列
  • 选项可以有选项值,选项与选项值可用 空格 / 等号 分隔( --demo test <==> --demo=test )
  • 既不是选项,也不能作为选项值的参数是操作数
  • 第一次出现的双横线( – )用于结束所有选项,后续参数为操作数

2.3 Linux启动长参数(命令行长参数)编程

在这里插入图片描述
在这里插入图片描述

  • getopt_long(…) 从argc和argv中获取下一个选项
  • getopt_long(…) 同时支持 短选项长选项
    • 短选项:通过 规则字符串 指定支持的选项
    • 长选项:通过 struct option结构体 指定支持的选项
  • 默认情况下:getopt_long(…) 对argc进行重排,所有操作数位于最后位置

2.3.1 长参数编程示例

在这里插入图片描述

【参看链接】:x-1 - 扩展:进程长参数编程 / 01长选项 / long.c

在这里插入图片描述

在这里插入图片描述

2.3.2 另一种长参数编程模式

在这里插入图片描述

【参看链接】:x-1 - 扩展:进程长参数编程 / 02长选项扩展 / long.c

在这里插入图片描述
在这里插入图片描述

3. 进程参数变种玩法 ==> 统一长短参数

  • int getopt_long_only(argc, argv[], optstring, longopts, longindex);
    • 对于以单横线( - )起始的参数
      直接查找长参数选项,若查找失败,则查找短参数选项
    • 对于以双横线( – )起始的参数
      直接查找长参数选项,若查找失败,则查找失败

3.1 统一长短参数示例

在这里插入图片描述

【参看链接】:x-1 - 扩展:进程长参数编程 / 03统一长短参数 / get_long_only.c

在这里插入图片描述

3.2 进程参数编程总结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uuxiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值