我有一个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)”,这会导致“错误:未知连接:(提供商连接)”。 还尝试将连接名称写入文件,然后将其读入变量但没有运气。
有人知道尾随时期/点的来源吗?
答案 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.
答案 1 :(得分:-1)
空白移除解决了这个问题。已删除sed。
name = $(nmcli -f NAME,TYPE c | grep gsm | grep -oP'。(?= gsm)' | sed -e' s / [[ :空间:]] $ //')"