Linux 如何提示用户输入,然后在输入后删除提示?

Linux 如何提示用户输入,然后在输入后删除提示?,linux,bash,macos,shell,terminal,Linux,Bash,Macos,Shell,Terminal,举一个简单的例子: #!/usr/bin/env bash echo "--- EARLIER OUTPUT FOM SCRIPT ---"" read -p "What's your name? " name echo "Hello $name" echo "--- LATER OUTPUT FOM SCRIPT" 结果输出如下所示: --- EARLIER OUTPUT FROM SCRIPT --- What's your name? Foo Hello foo --- LATER

举一个简单的例子:

#!/usr/bin/env bash

echo "--- EARLIER OUTPUT FOM SCRIPT ---""

read -p "What's your name? " name
echo "Hello $name"

echo "--- LATER OUTPUT FOM SCRIPT"
结果输出如下所示:

--- EARLIER OUTPUT FROM SCRIPT ---
What's your name? Foo
Hello foo
--- LATER OUTPUT FROM SCRIPT ---
如何在应答提示后将其删除,使其不可见,并且脚本输出继续,就好像提示从未发生过一样?阅读
read
是否可能实现这一点,或者我是否需要做更多的事情?理想情况下,我希望这是相当可移植的(即macOS/BSD和GNU)

这就是目标:

--- EARLIER OUTPUT FROM SCRIPT ---
Hello foo
--- LATER OUTPUT FROM SCRIPT ---

几乎可以做你想做的事

这可能适用于您=>“清除和打印”\e[3J'”(清除所有文本和 设置终端为空)。为了更好地测量,您还可以使用“tput reset”重置终端(在脚本中可能不理想)。您必须保存以前的输出并重新打印