使用读取命令以bash预先填充用户对用户输入的响应

时间:2018-10-13 15:31:10

标签: bash

我有一句话,bash程序要求用户对其进行编辑。假设这句话是“快速的棕狐跳过懒狗”。现在,我回显了该句子,然后要求用户以编辑后的版本进行回复。

echo "The quick brown fox jumps over the lazy dog"
read -p "Edit: " newSentenceVariable

->将显示:编辑:(用户输入编辑的句子)(用户返回)

是否有可能在用户的输入已经预先填充了初始句子的情况下进行操作,以便他们可以进行编辑然后按Enter键。

read -p "Edit: " "The quick brown fox jumps over the lazy dog" newSentenceVariable

--->将显示:编辑:敏捷的棕色狐狸跳过了懒狗

这样,如果无需对该句子进行任何编辑,则用户只需按Enter。如果必须在句子中添加句点,则键入“”。然后按回车键。这全是代替使用户复制/粘贴或将整个句子重新键入到提示响应中。

谢谢

echo $BASH_VERSION
3.2.57(1)-release

1 个答案:

答案 0 :(得分:1)

bash 4+解决方案:

read -e -p "Edit: " -i "The quick brown fox jumps over the lazy dog" newSentenceVariable

来自help read

  

-e 使用Readline在交互式外壳中获取该行
   -i 文本 使用TEXT作为Readline的初始文本