bash读取命令



我尝试使用读取命令来捕获用户输入的内容。

read -p "Please enter your name -> " -n 20 name

,但我发现我们无法纠正我们输入的内容。如何使" backspace"删除而不添加?

最简单的方法是使用 -e标志来读取,这将使它使用readline。

read -e -p "Please enter your name -> " -n 20 name

您还可以更改终端设置(stty),以便删除backspace。

您可以通过col -b输送用户(或任何其他文本)输入的文本,例如:

name=`echo $name|col -b`

这比使用read命令的选项-e更便宜,因为在所有UNIX系统上不支持-e,例如AIX(我认为它是GNU/Linux扩展程序)。

相关内容

  • 没有找到相关文章

最新更新