问题
我尝试以以下方式在bash脚本中提取wifi的信号电平(引号似乎没有什么区别):
string="$(iwconfig wlan0 | grep -I Signal)"
如果我echo $string
获得了我所期望的:
Link Quality=63/70 Signal level=-47dBm
但是,如果我尝试获取子字符串echo ${string:5}
,它将返回相同的内容。
调试:
如果我将输出wconfig wlan0 | grep -I Signal
直接粘贴到变量中:string="Link Quality=63/70 Signal level=-47dBm"
则一切都会按预期进行。
echo $string
# Link Quality=63/70 Signal level=-47dBm
echo ${string:5}
# Quality=63/70 Signal level=-47dBm
问题:根据互联网,所有bash变量都存储为字符串。因此,调试结果应该与我原来的问题相同。是否有某些原因在原始问题中未将其解析为文本?