退格键不会删除 bash 中 tput 命令的下划线

backspace does not remove tput command's underline in bash

我正在努力练习制作一个美观整洁的界面。但是,我被困在这个问题上。我正在尝试强调我使用此方法设法完成的用户输入

echo -n "Title : "; read -p "$(tput smul)" getTitle; tput rmul 

tput smul用于给单词加下划线,而tput rmul用于这条语句成功后去除下划线。

不幸的是,当我不小心输入错误并决定返回space时,下划线并没有相应消失。

相反,即使我删除了所有用户输入,下划线仍然存在。

有解决办法吗?

通过 -e 标志使用 readline

echo -n "Title : "; read -ep "$(tput smul)" getTitle; tput rmul