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”重置终端(在脚本中可能不理想)。您必须保存以前的输出并重新打印