nmcli con up命令似乎在为变量提供连接名称时添加了一个尾随句点

时间:2015-11-12 10:20:21

标签: bash ubuntu

我有一个bash脚本,它将gsm调制解调器连接名称放在一个变量中:

name=$(nmcli -f NAME, TYPE c | grep gsm | grep -oP '.*(?=gsm)')

echo $name给了我"Provider connection"

但是,当我使用$ name来启动界面时,我得到以下内容:

nmcli -t con up id "$name" 

结果为"Error: Unknown connection: Provider connection ."

我也尝试过使用$ {name}并尝试查找时间段来自我使用的“($ name)”,这会导致“错误:未知连接:(提供商连接)”。 还尝试将连接名称写入文件,然后将其读入变量但没有运气。

有人知道尾随时期/点的来源吗?

2 个答案:

答案 0 :(得分:0)

EDIT:

Ok, I'll call it. I think this is a whitespace issue, not a trailing period.

In this case, you should preprocess the variable before using it:

name="$(echo -e "${name}" | sed -e 's/[[:space:]]*$//')"

nmcli -t con up id "$name"

This will remove only trailing white space, without affecting the actual string.

enter image description here I hope this helps ;-)

答案 1 :(得分:-1)

空白移除解决了这个问题。已删除sed。

name = $(nmcli -f NAME,TYPE c | grep gsm | grep -oP'。(?= gsm)' | sed -e' s / [[ :空间:]] $ //')"