unfa Asked: 2018-11-27 08:27:59 +0800 CST2018-11-27 08:27:59 +0800 CST 2018-11-27 08:27:59 +0800 CST 如何在 Bash 脚本中禁用终端滚动? 772 当使用类似的程序时htop- 鼠标滚轮动作不会做任何事情。 如何在我的 Bash 脚本中重现这种行为? 我想应该有一种方法可以告诉终端忽略滚动请求。这是怎么做的? bash shell-script 1 个回答 Voted Best Answer Thomas Dickey 2018-11-27T13:21:30+08:002018-11-27T13:21:30+08:00 htop碰巧使用 ncurses ncurses(和其他在终端中使用全屏的东西)使用 terminfo 功能初始化终端smcup。对于 xterm (以及模仿它的终端仿真器),切换到备用屏幕。htop这些终端可能会通过发送向上/向下光标键而不是滚动终端窗口(您可以通过向上/向下移动的焦点线看到)来响应滚轮鼠标。您的 bash 脚本可能会看到这些光标键,但不会处理它们。 您可以使用脚本在脚本中试验该功能 tput smcup 切换到备用屏幕,以及 tput rmcup 切换回正常屏幕。
htop
碰巧使用 ncursesncurses(和其他在终端中使用全屏的东西)使用 terminfo 功能初始化终端
smcup
。对于 xterm (以及模仿它的终端仿真器),切换到备用屏幕。htop
这些终端可能会通过发送向上/向下光标键而不是滚动终端窗口(您可以通过向上/向下移动的焦点线看到)来响应滚轮鼠标。您的 bash 脚本可能会看到这些光标键,但不会处理它们。您可以使用脚本在脚本中试验该功能
切换到备用屏幕,以及
切换回正常屏幕。