我尝试使用读取命令来捕捉用户输入的内容。
read -p "Please enter your name -> " -n 20 name
但我发现我们无法纠正我们输入的内容。如何使“BackSpace”删除而不是添加?
最简单的方法是使用-e
标志来读取,这将使它使用 readline。
read -e -p "Please enter your name -> " -n 20 name
您还可以更改终端设置 (stty),以便删除退格而不是删除。
您可以将用户输入的文本(或任何其他文本)通过管道传输col -b
,例如:
name=`echo $name|col -b`
这比使用命令选项更便携-e
,read
因为-e
并非所有 Unix 系统都支持,例如 AIX(我认为它是 GNU/Linux 扩展)。