如何使用 BASH 和 ZSH 向用户呈现可编辑的输入?

How to present editable input to a user with BASH and ZSH?

我需要在 shell 脚本中接受用户输入,该脚本可以 运行 BASH 和 ZSH。我习惯于在其他语言中使用 readline,但这在 shell 脚本中似乎不是一个可行的选项。

示例提示可能是:

Please enter the value> 1234_

我如何向用户提供可编辑的输入,该输入具有可编辑(退格)且与两个 shell 兼容的默认值?

如果我没有误会... 在 "Backspace" 功能方面,删除最后一个字符并添加一些新的 .. 这在两个 shell 中都有效,脚本中有一个简单的 "read"。

echo -n "Enter value > "
read v
echo $v

如果您还有其他问题,能否改一下措辞以使您的问题更清楚? 你用什么(示例代码)。 你在编辑方面究竟做了什么(只有 BS 还是你的意思是行编辑命令 CTRL-A,等等) 结果/错误是什么,您想修复什么。 谢谢

用户 @cyrus 在评论中提到,但最好直接作为答案:

read -e -p 'Please enter the value> ' -i '1234' myvar
echo $myvar

导致可编辑的默认值 1234

Please enter the value> 1234
1234