好的,我有很多服务器列表,我写了一个bash脚本来征集它们。但问题是它滚动终端。
我需要一个分页视图。
是否可以在bash脚本中添加或更少?
say ,
1
.
.
.
1000
一次一页。
我有这段代码:
Staging_Servers)
echo " Staging server list should go here"
;;
UAT_Servers)
echo " UAT server list should go here"
;;
Prod_Servers)
echo " Prod server list should go here"
;;
其中一人长期上市。
运行脚本后,它会显示如下菜单:
1) Jenkin_Servers 5) Prod_Servers 9) DB-Staging
2) Nagios_Servers 6) Proxy_Servers 10) DB-Prod
3) Staging_Servers 7) Dedicated_Servers
4) UAT_Servers 8) Shared_Servers
Please enter the required number :
好的,一旦我将数字提供给提示,其中一个菜单有很多项目滚动屏幕。我希望一次只能看到一页。
答案 0 :(得分:0)
是的,您可以在bash脚本中调用更多或更少:
#!/bin/bash
...
cat file* | less
...
一旦到达cat
(或任何命令),就会开始对输出进行分页。
我以前编写的README文件的第一行包含:
#!/usr/bin/less
当您执行README时,它会对README进行分页。自分页文本文件。
答案 1 :(得分:0)
将您的服务器列表存储在字符串或array中,并通过 PAGER 回显输出,或通过less显式回显。例如:
export PAGER='/usr/bin/less'
case $list_name in
Staging_Servers)
echo "${staging_servers[@]}" | "$PAGER"
;;
UAT_Servers)
echo "${uat_servers[@]}" | "$PAGER"
;;
Prod_Servers)
echo "${prod_servers[@]}" | "$PAGER"
;;
esac