问题标签 [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.
macos - Bash:“tput initc”似乎不起作用
我正在编写一个 bash 脚本,我从一些tput initc
命令开始,用于指定在脚本中使用的自定义颜色。但是当我运行脚本进行测试时,它似乎仍在使用Terminal.app
默认的“基本”主题颜色。(我正在使用运行全新安装的 Mavericks 的虚拟机进行测试。)
以下是我正在使用的命令:
因此,举个例子,这应该将 Yellow (3) 设置为一种褐色,但是当我然后执行 atput setaf 3
并回显一些文本(在单独的行上或使用$()
语法将其包含在回显中)时,它仍然只是打印相同的默认黄色。
我究竟做错了什么?我在文档的过程中发现的很少initc
——我什至没有在tput
的手册页中看到它——所以我不确定我是否正确使用它。
谢谢!
bash - 如何从在 crontab 中运行的 bash 脚本获取文件的彩色输出?
当我手动运行 bash 脚本时,输出会以使用 tput 指定的颜色附加我的日志文件。当我将 bash 脚本作为 cronjob 运行时,输出会失去颜色。谢谢。
shell - 更改 Prod 系统 HP-UX 的配色方案
当有人登录 prod 系统时,我想将配色方案更改为红色。我通过查询我们的中央存储库以获取产品服务器并更新 .kshrc 来实现这一点,如下所示 -
主机= hostname
... ...
使用 $hostname 搜索字符串
如果服务器是 prod,则 env 将设置为 1
if [[ $env = 1 ]] then tput setaf 7 tput setab 1 clear else tput setaf 7 tput setab 4 clear fi
当我远程登录到产品然后再次远程登录到另一个非产品时,这工作正常。但是问题是,例如,当我从非 prod 登录到 prod 系统时,配色方案会按预期更改为红色,但是,如果我使用 ctrl+d 注销,即使我现在已注销,配色方案也不会改变非产品系统。关于如何捕获 SIGQUIT (ctrl+d) 并将其用于颜色更改的任何建议?
linux - 如何在 linux 控制台上查看两个对话框?同时运行?
我想在 Linux 控制台上同时查看两个对话框窗口,一个窗口查看进度条,第二个尾箱查看日志正在运行。
问题是控制台中央的对话框
我想要的是在控制台上同时查看两个对话框,而进度条位于屏幕顶部,而尾部框应显示在屏幕下方。
如何实施?
如何将对话框窗口向上或向下而不是在中心?
/li>
linux - 哪个开源程序类似于Linux“对话”命令?
Dialog 命令是查看 GUI 对话框的好命令 但对话框的不利之处在于我们无法将 GUI 窗口定位在屏幕顶部或屏幕下方 Dialog 始终在屏幕中央显示对话框 GUI
首先我想说我想使用尾框功能(这个对话框在正在运行的文件上制作尾巴),并且尾框存在于对话框选项中,但我不能使用它,因为我在这里解释过
我的目标是在屏幕中向下显示尾框窗口,而不是在中心所以
我搜索并发现了其他一些类似于 Yad 、 Whiptail 、 zenite 等对话框的开源代码但我不确定其他开源代码是否可以选择将尾框窗口定位在屏幕下方
请有人建议我哪些其他开源可以选择在屏幕上的每个位置定位 GUI 对话框
来自对话框命令的示例
rust - 无法使用 std::io::process::Command 执行 `tput` 命令
当我tput cols
在终端中运行时,它可以很好地打印出列数。但是当我运行以下 Rust 程序时:
我收到以下错误:
有谁知道为什么命令不能正确运行?为什么要寻找文件或目录?
terminal - 有什么方法可以使终端控制序列可移植?
我目前正在计划一个自定义的类似 Vim 的编辑器。它将用 C 语言编写,我希望它在尽可能多的系统类型之间尽可能可移植。
我知道 curses(我想是 ncurses)、tput 命令,以及终端如何使用控制序列(Esc-[ 和 CSI 字符)来更改背景、移动光标等。
在上述选项中,ncurses 似乎是编辑器最推荐的打印方式。但是 ncurses 也有很多我不想使用的东西,如果它是合理可行的,我宁愿制作自己的系统。我不反对使用它,但是..无论如何。
所以,我的问题是:有没有办法在绝大多数终端中使用控制序列而不使用库?是否通过 tput 或其他方法?
谢谢!
perl - 在 Perl 中刷新多行输出
我正在编写一个脚本,该脚本旨在检查某个状态,输出结果,休眠一小段时间,然后重新开始一切。输出由多行组成,我希望脚本更新输出,这意味着再次在同一行上打印。它应该可以在 Mac 和 Linux 上运行。这是我到目前为止所拥有的:
只要我不在终端窗口末尾使用光标调用脚本,它就可以正常工作。在后一种情况下,光标在打印后停留在窗口的末尾,因此恢复它的原始位置实际上没有任何作用,下一个输出只是换行。
我怎样才能避免这种情况?
我不想打电话tput clear
,或者tput init
因为这可能会丢失任何以前的命令和输出。我正在考虑滚动窗口,以便在我开始输出之前提示位于顶行,但这需要当前光标行,我无法看到如何使用tput
.
或者,我可以记住打印的行数,然后使用tput rin
. 但是,当输出太长并且跨越两条或更多终端线时,这不起作用。
linux - “tput: No value for $TERM and no -T specified” CRON 进程记录的错误
我们有一个由 CRON 运行的 shell 脚本。shell 脚本依次运行 python 脚本,该脚本从 FTP 服务器下载文件,然后在这些文件上运行 java 日志处理器。这个过程运行得很好,除了我继续收到 CRON 电子邮件,即使没有错误。至少,我认为没有错误。cron 电子邮件有两行,其中一行是
经过一番研究,我发现这与设置 $TERM 变量有关。我不确定,该怎么做。任何帮助,将不胜感激。谢谢!