我正在尝试编写一个 shell 脚本,可以将管道进程的输出保存到变量中。然后将此变量与已知字符串进行比较,以确定我的 AT 调制解调器是否已连接到网络。我的问题是,当我运行脚本时,无论我做什么,变量都不会与比较器匹配。附有最小示例。我在 bash -x 模式下运行脚本,这样我就可以跟踪脚本中的变量。
connected=$(echo -e 'AT+CREG?\r' > /dev/ttyUSB2 | head -2 /dev/ttyUSB2)
echo "\n"
compare=" $\'\r\' +CREG: $\'0,1\r"
echo "\n"
echo ${connected}
echo "\n"
if [ ${connected} = "${compare}" ] ; then
echo "This may not be an AT&T card"
else
echo "Missed the if statement"
fi