问题标签 [tput]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - 使用 tput 创建的行在滚动时被删除
我有以下 BASH 函数,它接受参数并将它们显示在终端底部的新行中,该行被排除在滚动区域之外:
它相当简单并且有效。事情是,在一些命令之后(有时只是几个,有时在工作 15 分钟之后),即使它应该被排除在滚动区域之外,它也会向上滚动。
这在蒂尔达和终结者中都发生在我身上。
任何帮助将不胜感激,干杯。
编辑:重现此问题的最佳方法是,如果您执行几次“ls -a,ls -a,ls -a,ls -a”直到到达页面底部,然后使用 Vi 打开一个随机文件,然后执行另一个“ls -a”。当你这样做时,不可滚动的底行会在上面,即使它不应该。
bash - 通过 bash 对 tput 结果使用列命令
我有一个变量 "x" ,它包含两列和两行。我想用红色打印“hi”,所以我求助了tput
,它用红色打印了结果。但是我还需要以正确对齐的方式打印我使用的列,column -t
但这会扭曲输出。这是因为 tput 添加了一些控制字符。
我期待:
尝试调试,发现tput正在添加一些控制字符以使“hi”打印为红色。
问题:
如何“ column -t
”在 tput 的彩色输出上?
编辑:来自@Diego Torres Milano 的结果(ALL IN RED)
bash - 在脚本运行时从 bash 脚本显示启动画面或对话框
我想在我的脚本在后台运行时创建一个启动屏幕/活动对话框,以通知用户正在发生的事情。我的脚本文件启动了本地应用程序的不同组件,并且有一堆用户不需要看到/不会理解的单词和内容。我知道如何让脚本在后台运行,但我想知道如何在每个组件启动后显示一个对话框、新的终端窗口、通知或类似的东西让用户知道。
例如,我有 4 个组件,所以框会出现并说:
第 4 部分中的第 1 部分已成功启动..
第 4 部分中的第 2 部分已成功启动..
等等...
任何帮助表示赞赏,因为我已经搜索了一段时间没有运气。要添加的一件事是,我能够使用以下代码打开一个新的终端窗口:/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal &
这很好,但是当我回显时,它仍然会转到第一个。
bash - Bash函数绘制坐标数组
使用给定的下划线分隔坐标数组(如:)5_2 4_5 1_3
,我需要一个快速 bash 函数来在终端屏幕上的这些位置绘制一个块字符。现在我有这个:
这个功能很好,但是它相当慢 - 使用 8 个坐标执行它需要 0.158 秒。有没有更好更快的方法来做到这一点?
bash - 使用 tput 时如何在 bash 中使用 printf 格式化列
使用 tput 更改字符串的长度,因此列不对齐。如何解决这个问题?
在 bash 脚本中尝试了以下代码。
输出类似于:
预计为:
ssh - 修复 tput:使用 SSH 运行远程 shell 脚本时没有指定 $TERM 的值和没有指定 -T
我在服务器上有一个 nodetimecheck.sh 文件,它有这样的命令
当我使用 SSH 登录到我的服务器并执行 ./nodetimecheck.sh 时,它会正确显示。
但是,如果我尝试像这样通过 ssh 从本地计算机执行命令
ssh -i ~/.ssh/privkey username@serverip ./nodetimecheck.sh
它确实显示时间,但有一个唠叨的消息
运行 Ubuntu 18.04 LTS 的本地计算机 运行 Ubuntu 18.04 LTS 的 GCP 上的远程服务器
linux - 获取终端内容
是否可以获得 Linux 终端文本内容的快照?
两者都tput
支持terminfo
“杯子”模式(例如tput smcup
启动备用缓冲模式),这意味着它们必须将屏幕状态保存在某处。是否有可能获得这些内容?
bash - 如何使用颜色设置变量并与bash左对齐
如何使用颜色设置变量并与 bash 左对齐
例子:
输入
输出
***更新***解决方案:
注意:注意 $process_state 周围的空格将其与颜色分开。
ncurses - SIGWINCH、bash、dash、tput 和 terminfo
我对tput
终端大小之间的交互有点困惑。似乎 的行为tput
取决于调用它的外壳程序,或者外壳程序可能负责更改终端设置,或者....某些东西。为了减少问题,请考虑:
在这里,在 bash 中,事情的行为(几乎)符合预期(我说几乎,因为我不太确定 WINCH 处理程序为什么执行两次),并且tput
更改的输出与新的终端大小相匹配。但是,当在 dash 中运行时,tput
即使终端改变了大小,输出也不会改变。另请注意,WINCH 处理程序似乎被破折号延迟,并且直到输入下一个命令之后(但在它执行之前)才执行。这里应该发生什么?tput
以任何方式关心外壳在做什么吗?绞盘是否相关?我想问题是:
怎么tput
知道终端的大小?
此外,我不想过多地混淆输出,但在示例的每个 shell 中,都设置了 TERM 并infocmp $TERM
打印似乎有效的 terminfo 描述。(我认为,它提供任何输出的事实表明它是有效数据!)
linux - 如何阻止 tput bel 在内部闪烁屏幕
我不小心tput bel
用 iterm2 调用了我的 Mac,现在我的终端屏幕每隔一段时间就会闪烁。如何反转tput bel
命令?