我需要在既可以运行BASH又可以运行ZSH的shell脚本中接受用户输入。我习惯于在其他语言中使用
一个示例提示可能是:
我该如何为用户提供可编辑的输入框,并具有默认值,可以在两个不同的 shell 上进行编辑(包括退格)?
readline
,但在shell脚本中似乎不是一个可行的选项。一个示例提示可能是:
Please enter the value> 1234_
我该如何为用户提供可编辑的输入框,并具有默认值,可以在两个不同的 shell 上进行编辑(包括退格)?
vared
内置。假设i=1234; vared -p 'Please enter the value> ' i
。 - Toby Speightbash
使用Readline,zsh
使用ZLE)。 - chepnerread -e -p '请输入值> ' -i '1234' answer
将会得到类似如下的结果:请输入值> 1236
. 显示编辑后的用户输入:echo "$answer"
1236
- Bernie Reiterread
使用变量REPLY
。如果您指定一个变量,代码当然更易于理解。 - Cyrus