我为什么不能恢复真实而感到有点困惑......
if [ "$(echo -e 'b\bg')" == "g" ]; then
echo "true"
else
echo "false"
fi
即使没有'
(而不是\"
),它也无效。
在控制台中运行它:
~$ echo -e 'b\bg'
g
那么,这句话中的g
不等于g
还是什么?
答案 0 :(得分:4)
\b
不会从字符串中删除前面的字符;当显示时,它会使光标向后移动一个位置,导致前面的字符被后面的字符覆盖。 b\bg
仍然是一个3个字符的字符串,与任何单字符字符串都不匹配,即使它们在显示时看起来相同。 (就此而言,无法保证终端会将\b
视为向后移动光标;它可能只是在其位置显示不可打印的字符字形,例如b?g
。)