Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在用户使用bash脚本提示后发送更多输出_Bash_Shell - Fatal编程技术网

如何在用户使用bash脚本提示后发送更多输出

如何在用户使用bash脚本提示后发送更多输出,bash,shell,Bash,Shell,我正在编写一个bash脚本,希望在脚本主菜单的底部添加一条免责声明 我需要回显几个菜单选项供用户选择。 读取用户输入 我的问题是读取停止,并等待用户输入。。 是否可以提示用户,同时在屏幕底部(用户提示下方)显示免责声明?如果您的用户应该从多个菜单选项中进行选择,您可能希望使用选择而不是读取 答案的处理更简单、更快,并降低了用户输入错误的风险 (我会将此作为评论,如果我能够的话)我不确定我是否完全理解您的问题,但您可以在屏幕底部这样写一条免责声明,然后返回顶部请求输入 #!/bin/bash li

我正在编写一个bash脚本,希望在脚本主菜单的底部添加一条免责声明

我需要回显几个菜单选项供用户选择。 读取用户输入

我的问题是读取停止,并等待用户输入。。
是否可以提示用户,同时在屏幕底部(用户提示下方)显示免责声明?

如果您的用户应该从多个菜单选项中进行选择,您可能希望使用
选择
而不是
读取

答案的处理更简单、更快,并降低了用户输入错误的风险


(我会将此作为评论,如果我能够的话)

我不确定我是否完全理解您的问题,但您可以在屏幕底部这样写一条免责声明,然后返回顶部请求输入

#!/bin/bash
lines=$(tput lines)            # Get number of lines in Terminal
while :; do
   tput clear                  # Clear screen
   echo                        # Leave space for prompt
   echo
   echo Option 1:
   echo Option 2:
   echo Option 3:
   echo
   tput cup $lines 0           # Put cursor to foot of screen
   tput smso                   # Enable BOLD (Stand Out Mode)
   echo -n Disclaimer - this may be rubbish.
   tput rmso                   # Disable BOLD (Remove Stand Out Mode)
   tput cup 0 0                # Put cursor to top of screen
   echo -n Enter your choice: 
   read x
done
顺便说一下,按Ctrl-C键退出

注意:

以下内容可能对您有用:

tput sc
-保存光标位置

tput rc
-恢复光标位置

如果像这样使用
echo-e
,也可以在
echo
语句中嵌入
tput
命令:

echo -e "Plain $(tput smso)Bold$(tput rmso) Plain"

普通
Bold
Plain

可以使用
ncurses
或ASNI转义字符,但值得付出努力吗?只需在菜单后面但在提示之前显示免责声明。或者承认用户不太可能阅读或关注它,只需跳过它即可。:)谢谢使用tput sc和tput rc-我能够在屏幕上获取所有内容,并将光标跳回到“promp”行。。打完电话后,请为我的案例阅读opt。太好了!很高兴能提供帮助。