问题标签 [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.

0 投票
1 回答
175 浏览

bash - 标准错误重定向上的 BASH tput 错误

编写一个应该在终端上显示错误并将它们保存到 stderr 的函数

不幸的是,这将产生

我知道这是因为 tput 但我无法弄清楚原因。

我真的不在乎我的标准错误中有颜色,但我想把它们保留在显示器上。

0 投票
2 回答
312 浏览

bash - 在bash中的每个提示之前从数组中选择随机值

我正在尝试制作一个自定义提示,从以下列表中选择一个随机值:

然后在每次提示之前执行此操作。

问题是,如果我使用PS1,它会在终端启动时执行,并且不会在每次提示之前更新。如何在每次提示之前获得不同的随机消息?

样本输出:

0 投票
1 回答
247 浏览

c - 在 C 中使用终端控制代码

我有兴趣在 C 中创建一个基于终端的文本界面,而不使用像ncurses. 我知道通过使用tput和各种转义码,是可以创建这样一个界面的。但是,我不确定如何tput在 C 中使用或类似的命令。

首先,我想知道在没有外部库的情况下在 C 中实现这样的东西的最佳选择是什么(因此它可以在裸系统上编译和运行)。

其次,如果 usingtput是最好的选择,我如何从 C 中调用这些命令?

我知道使用预先存在的库,例如ncurses会大大简化过程,但我想在没有它们的情况下创建我的程序。

先感谢您。

0 投票
1 回答
750 浏览

linux - 使用 ssh 运行带有参数的远程 bash 脚本

我无法使用参数运行位于“admin”服务器上的远程 shell 脚本。

“groupentry”和“homeentry”如下

该脚本位于管理服务器中的 ~/bin/addautomaps 中。

我看到错误,

我还看到参数也没有正确传递。我也尝试过使用“ssh -t ...”,但这不起作用。

0 投票
6 回答
18432 浏览

bash - Docker 终端中的 Docker 行数在 docker 内部发生变化

我想知道如何改变以下行为。假设我的终端有28行。然后我使用以下命令:

如您所见,即使所有结果都应该是28,当我调用容器时,docker run --rm -it ubuntu:16.04 tput lines尽管我的终端大小,它总是给我 24 。这不仅适用于 ubuntu 容器,我也尝试过使用 debian ( docker run --rm -it debian tput lines) 并且得到相同的结果 24。

这样做的目的是使用考虑到终端中的行的mdp 演示工具。当我的实现失败时,我尝试了其他人的docker 实现,但我遇到了同样的错误。

这是我在图像中的错误:

Docker 终端中的 Docker 行数在 docker 内部发生变化

有谁知道它可能是什么以及如何解决?

0 投票
1 回答
47 浏览

unix - 清除终端屏幕但保持视觉间距

当我想在我通常运行的命令的一长串输出行列表之后提供视觉中断clear以便终端将清除屏幕时,将我的提示符放回 0,0 同时保留历史记录(vs reset)。

问题是,当我向上滚动时,终端现在又回到了长长的输出行,没有任何历史中断。

我有通过做“回显屏幕上的空行”的想法yes '' | head -n $(tput lines),但是我的光标位于屏幕底部。所以我尝试运行clear,但它似乎删除了空行。我也尝试过tput cup 0 0,但这也删除了空行(我猜是通过“恢复”我的屏幕的空行价值)。

我可以通过打印任何字符而不是空字符串来强制空行yes,或者我可以在空行的末尾打印一些字符/消息。但现在我正在添加垃圾。

我唯一能够上班的是:

还有其他方法还是这是我唯一的选择?

0 投票
1 回答
157 浏览

linux - 退格键不会删除 tput 命令在 bash 中的下划线

我正在尝试练习做一个漂亮整洁的界面。但是,我被困在这个问题上。我试图强调我使用这种方法设法做到的用户的输入

tput smul用于给单词加下划线 whiletput rmul用于在本语句成功后去掉下划线。

不幸的是,当我不小心输入错误并决定退格时,下划线并没有相应地消失。

相反,即使我删除了所有用户输入,下划线仍然存在。

有什么解决办法吗?

0 投票
1 回答
435 浏览

jenkins - Edeliver: tput: 没有 $TERM 的值并且没有指定 -T

我正在尝试在 Jenkins 机器中进行自动部署,并将其交付到我们的生产中。我的构建机器似乎有问题。

mix edeliver build release --verbose --branch=70818f1f707545aaec17e0ca3daa035e7eea4746 tput:没有 $TERM 的值,也没有指定 -T tput:没有 $TERM 的值,也没有指定 -T tput:没有 $TERM 的值,也没有指定 -T tput: $TERM 无值且未指定 -T tput:$TERM 无值且未指定 -T tput:$TERM 无值且未指定 -T tput:$TERM 无值且未指定 -T tput:无值$TERM 且未指定 -T tput:$TERM 无值且未指定 -T tput:$TERM 无值且未指定 -T tput:$TERM 无值且未指定 -T tput:$ 无值TERM 并且没有指定 -T tput:没有 $TERM 的值并且没有指定 -T tput:没有 $TERM 的值并且没有指定 -T tput:没有 $TERM 的值并且没有指定 -T tput:没有 $TERM 的值并且未指定

在BUILD主机上构建集成应用程序的发布

-----> 授权主机 -----> 确保主机准备好接受 git 推送

远程命令失败:

ubuntu@ec2-54-93-168-21.eu-central-1.compute.amazonaws.com

该命令的输出如上所示,在该主机上执行的命令打印在下面以用于调试目的:

失败,退出状态为 255:

0 投票
2 回答
334 浏览

terminal - 在 zsh 中,如何重新着色已经输出的文本?

当我已经在终端上输入了一个文本时,我可以修改它的属性吗?

(我想在tput rev我的命令提示符下preexec()。)

0 投票
0 回答
127 浏览

tput - tput 没有在终端中设置颜色

我希望在使用交互式 shell(即命令提示符)时为我的终端着色。我设法使用转义序列做到了这一点:

我想使用tput而不是转义序列。像那样:

但是,这不会产生任何颜色。

tput我以不同的方式尝试了其他子命令。它们都没有产生任何效果,除了tput colstput lines给出了适当的输出。

在这种情况下我应该如何tput正确使用?