【问题标题】:How can I prompt the user for input, and then remove the prompt after? [duplicate]如何提示用户输入,然后删除提示? [复制]
【发布时间】:2020-09-25 07:17:53
【问题描述】:

举个简单的例子:

#!/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 ---

【问题讨论】:

    标签: linux bash macos shell terminal


    【解决方案1】:

    几乎做你想做的事

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-05
      • 2015-09-20
      • 2018-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多