首页 文章

在bash中以交互方式阅读

提问于
浏览
0

我使用以下代码以交互方式从用户获取输入,从而允许用户更改输入而不删除整行 .

#! /bin/bash

while :
do
    echo -n "prompt# "
    read -e input
done

问题:

它还允许我删除"prompt#",我不希望用户在任何情况下删除"prompt# " . 我尝试在 read 命令中使用各种选项,但无法弄明白 . 我怎样才能做到这一点?

编辑:
导致问题的事件序列:
我运行了上面的脚本并输入了"hello" .
2.然后我将光标移动到"hello"和"pressed and held"退格中的'e'一段时间,导致删除"prompt# "
3.如果你没有输入任何字符,它可以正常工作,并且不会删除提示,但如果你输入一个空格或任何字符,然后按退格键,那么它会混淆提示 .

看一下下面的快照 .
Snapshot

1 回答

  • 2

    来自4ae1e1的评论:

    你应该使用read的内置提示支持,或者你自己 .

    read -p 'prompt# ' -e input
    

相关问题