对于大多数人来说,这将是一个简单的方法,但是从这里解析调制解调器号和modemmanager文件夹号最有效的方法是:
root@5109910:~# mmcli -L
/org/freedesktop/ModemManager1/Modem/1 [Sierra Wireless Inc.] Sierra Wireless EM7345 4G LTEModemManager1、1和[Sierra Wireless Inc.] Sierra Wireless EM7345 4G LTE是动态的,我希望能够在shell脚本中操作调制解调器。
具体来说,我想生成以下内容:
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***)发布于 2021-07-31 05:16:54
使用纯bash,您可以在一步(即对mmcli -L命令的单次调用)中做到这一点:
IFS='/ ' read -r _ _ _ mm _ mn mt < <(mmcli -L)
# chek variable's content
declare -p mm mn mt输出:
declare -- mm="ModemManager1"
declare -- mn="1"
declare -- mt="[Sierra Wireless Inc.] Sierra Wireless EM7345 4G LTE"详细信息:
IFS='/ ':将/或空格设置为输入字段,separatorsread -r _ _ _ mm _ mn mt:读取变量mm、mn和mt中的第4、第6和第7次测试,而忽略rest< <(mmcli -L):命令替换以调用mmcli -L并将其输出提供给readhttps://stackoverflow.com/questions/68598552
复制相似问题