问题标签 [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 - 标准错误重定向上的 BASH tput 错误
编写一个应该在终端上显示错误并将它们保存到 stderr 的函数
不幸的是,这将产生
我知道这是因为 tput 但我无法弄清楚原因。
我真的不在乎我的标准错误中有颜色,但我想把它们保留在显示器上。
bash - 在bash中的每个提示之前从数组中选择随机值
我正在尝试制作一个自定义提示,从以下列表中选择一个随机值:
然后在每次提示之前执行此操作。
问题是,如果我使用PS1
,它会在终端启动时执行,并且不会在每次提示之前更新。如何在每次提示之前获得不同的随机消息?
样本输出:
c - 在 C 中使用终端控制代码
我有兴趣在 C 中创建一个基于终端的文本界面,而不使用像ncurses
. 我知道通过使用tput
和各种转义码,是可以创建这样一个界面的。但是,我不确定如何tput
在 C 中使用或类似的命令。
首先,我想知道在没有外部库的情况下在 C 中实现这样的东西的最佳选择是什么(因此它可以在裸系统上编译和运行)。
其次,如果 usingtput
是最好的选择,我如何从 C 中调用这些命令?
我知道使用预先存在的库,例如ncurses
会大大简化过程,但我想在没有它们的情况下创建我的程序。
先感谢您。
linux - 使用 ssh 运行带有参数的远程 bash 脚本
我无法使用参数运行位于“admin”服务器上的远程 shell 脚本。
“groupentry”和“homeentry”如下
该脚本位于管理服务器中的 ~/bin/addautomaps 中。
我看到错误,
我还看到参数也没有正确传递。我也尝试过使用“ssh -t ...”,但这不起作用。
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 实现,但我遇到了同样的错误。
这是我在图像中的错误:
有谁知道它可能是什么以及如何解决?
unix - 清除终端屏幕但保持视觉间距
当我想在我通常运行的命令的一长串输出行列表之后提供视觉中断clear
以便终端将清除屏幕时,将我的提示符放回 0,0 同时保留历史记录(vs reset
)。
问题是,当我向上滚动时,终端现在又回到了长长的输出行,没有任何历史中断。
我有通过做“回显屏幕上的空行”的想法yes '' | head -n $(tput lines)
,但是我的光标位于屏幕底部。所以我尝试运行clear
,但它似乎删除了空行。我也尝试过tput cup 0 0
,但这也删除了空行(我猜是通过“恢复”我的屏幕的空行价值)。
我可以通过打印任何字符而不是空字符串来强制空行yes
,或者我可以在空行的末尾打印一些字符/消息。但现在我正在添加垃圾。
我唯一能够上班的是:
还有其他方法还是这是我唯一的选择?
linux - 退格键不会删除 tput 命令在 bash 中的下划线
我正在尝试练习做一个漂亮整洁的界面。但是,我被困在这个问题上。我试图强调我使用这种方法设法做到的用户的输入
tput smul
用于给单词加下划线 whiletput rmul
用于在本语句成功后去掉下划线。
不幸的是,当我不小心输入错误并决定退格时,下划线并没有相应地消失。
相反,即使我删除了所有用户输入,下划线仍然存在。
有什么解决办法吗?
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:
terminal - 在 zsh 中,如何重新着色已经输出的文本?
当我已经在终端上输入了一个文本时,我可以修改它的属性吗?
(我想在tput rev
我的命令提示符下preexec()
。)
tput - tput 没有在终端中设置颜色
我希望在使用交互式 shell(即命令提示符)时为我的终端着色。我设法使用转义序列做到了这一点:
我想使用tput
而不是转义序列。像那样:
但是,这不会产生任何颜色。
tput
我以不同的方式尝试了其他子命令。它们都没有产生任何效果,除了tput cols
并tput lines
给出了适当的输出。
在这种情况下我应该如何tput
正确使用?