Problema
Tentei extrair o nível de sinal do wifi da seguinte maneira, em um script bash (as aspas parecem não fazer diferença):
string="$(iwconfig wlan0 | grep -I Signal)"
Se eu echo $string
conseguir o que espero:
Link Quality=63/70 Signal level=-47dBm
Mas se eu tentar obter uma substring echo ${string:5}
, ela retornará a mesma coisa.
Depuração:
Se eu colar a saída wconfig wlan0 | grep -I Signal
diretamente na variável: string="Link Quality=63/70 Signal level=-47dBm"
tudo funcionará conforme o esperado.
echo $string
# Link Quality=63/70 Signal level=-47dBm
echo ${string:5}
# Quality=63/70 Signal level=-47dBm
Pergunta: De acordo com a Internet, todas as variáveis do bash são armazenadas como cadeias de caracteres. Assim, o resultado da depuração deveria ter sido o mesmo que o meu problema original. Existe algum motivo para não ser analisado como texto no problema original?