首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解析nmcli输出的调制解调器号、标识符和名称?

如何解析nmcli输出的调制解调器号、标识符和名称?
EN

Stack Overflow用户
提问于 2021-07-31 02:07:15
回答 1查看 287关注 0票数 2

对于大多数人来说,这将是一个简单的方法,但是从这里解析调制解调器号和modemmanager文件夹号最有效的方法是:

代码语言:javascript
复制
root@5109910:~# mmcli -L
    /org/freedesktop/ModemManager1/Modem/1 [Sierra Wireless Inc.] Sierra Wireless EM7345 4G LTE

ModemManager11[Sierra Wireless Inc.] Sierra Wireless EM7345 4G LTE是动态的,我希望能够在shell脚本中操作调制解调器。

具体来说,我想生成以下内容:

代码语言:javascript
复制
MODEM_NUMBER=$(mmcli -L | grep ***PATERN TO PARSE 1 HERE***)

MODEM_DIR=$(mmcli -L | grep ***PATERN TO PARSE ModemManager1 HERE***

MODEM=$(mmcli -L | grep ***PATTERN TO PARSE [Sierra Wireles etc etc HERE***)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-31 05:16:54

使用纯bash,您可以在一步(即对mmcli -L命令的单次调用)中做到这一点:

代码语言:javascript
复制
IFS='/ ' read -r _ _ _ mm _ mn mt < <(mmcli -L)

# chek variable's content
declare -p mm mn mt

输出:

代码语言:javascript
复制
declare -- mm="ModemManager1"
declare -- mn="1"
declare -- mt="[Sierra Wireless Inc.] Sierra Wireless EM7345 4G LTE"

详细信息:

  • IFS='/ ':将/或空格设置为输入字段,separators
  • read -r _ _ _ mm _ mn mt:读取变量mmmnmt中的第4、第6和第7次测试,而忽略rest
  • < <(mmcli -L):命令替换以调用mmcli -L并将其输出提供给read
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68598552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档