Articles of terminal

命令在terminal中工作,但不通过QProcess

ifconfig | grep 'inet' 通过terminal执行时正在工作。 但不通过QProcess 我的示例代码是 QProcess p1; p1.start("ifconfig | grep 'inet'"); p1.waitForFinished(); QString output(p1.readAllStandardOutput()); textEdit->setText(output); 没有什么是显示在textedit。 但是当我在qprocess的开始只使用ifconfig时,输出显示在textedit上。 我有没有想过构build命令ifconfig | grep 'inet'任何技巧? ifconfig | grep 'inet' ,就像用' \| '和\| 为| ? 为特殊字符? 但我也试过,以及:(

/ dev / random极慢?

一些背景信息:我正在寻找在Red Hat服务器上运行脚本来从/ dev / random读取一些数据,并使用Perl unpack()命令将其转换为hexstring以供以后使用(基准testing数据库操作)。 我在/ dev / random上跑了几个“head -1”,好像运行的很好,但是几次之后,它就挂了。 几分钟后,最后输出一小段文字,然后结束。 我切换到/ dev / urandom(我真的不想,它更慢,我不需要这种随机性质量),它的前两个或三个调用罚款,然后也开始挂起。 我在想,如果这是轰炸它的“头”命令,所以我尝试使用Perl做一些简单的I / O,而且它也挂起来了。 作为最后一个努力,我使用“dd”命令将一些信息直接转储到文件而不是terminal。 我问的是1MB的数据,但是在我杀了它之前花了3分钟才得到~400字节。 我检查了进程列表,CPU和内存基本未变。 究竟是什么原因可能导致/ dev / random像这样废话,我能做些什么来防止/修复它呢? 编辑:感谢帮助家伙! 我似乎有随机和随意混淆。 我现在已经启动了脚本。 看起来我今天学到了一些新东西。 🙂

在bash脚本中使用“备用屏幕”

备用屏幕被诸如vim,htop,screen,alsamixer,less等许多“用户交互式”terminal应用程序所使用。它就像terminal内容的不同缓冲区,当应用程序退出时消失,所以整个terminal得到恢复,它看起来应用程序没有输出任何东西。 我想在我自己的shell(bash)脚本中实现完全相同的事情,除了它不必是便携式的。 我会坚持只有Linux和基于xterm的terminal仿真器; 但如果可能的话,解决scheme应该使用tput之类的东西。 但是,我不想使用一些外部脚本语言(甚至是像C这样的东西)。 尽pipe我不想使用C(因为它应该是一个尽可能less依赖的bash脚本),但我查看了less的源代码。 它似乎使用terminfo作为数据库,并在其初始化过程中查找“ti”terminal能力。 当删除线,它不使用替代sceen,所以我认为我find了负责任的代码行。 但是,我无法在man terminfofind这样的能力。 但是,也许我正在寻找解决scheme的错误path。 也许terminfo / tput不是我的朋友。 那么(如何)可以在bash脚本中使用备用屏幕? 有人知道一个简单的应用程序,其中的源代码,我可能会发现一个提示? (C应用程序或bash脚本或其他…)

JPanel中的Java Linuxterminal

我正在编写一个脚本编辑器,并希望能够运行Bash / Shell / Python /等。 在程序中的脚本…到目前为止,我有一个运行它们的方式,但脚本没有办法让用户input; 这是代码: package com.hightide.ui.terminal; import javax.swing.*; import java.awt.*; import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; /** * Created by peter on 9/1/15. */ public class JTerminal extends JPanel { private final JTextArea jta; public JTerminal(){ super(); setLayout(new BorderLayout()); jta = new JTextArea("– HIGH TIDE SCRIPTING EDITOR VERSION 0.0 –\n"); jta.setBackground(Color.BLACK); […]

防止Gnometerminal执行后退出

在给定的命令退出后,如何防止gnometerminal退出? 我从cronjob调用gnome-terminal,以创build一个用户可访问的terminal。 terminal最初被赋予一个特定的程序来运行。 例如 gnome-terminal –tab -e "/usr/bin/myprog" 这工作正常,除了“myprog”退出时,gnometerminal也一样。 我如何保持它运行,但只是回到terminal提示?

Windows中terminal应用程序中的C颜色文本

我知道“textcolor();” 是为C + +,我已经看到了unix的方法…但也有窗户的方式吗? #include <stdio.h> int main() { printf("\ntest – C programming text color!"); printf("\n——————————–"); printf("\n\n\t\t-BREAK-\n\n"); textcolor(15); printf("WHITE\n"); textcolor(0); printf("BLACK\n"); textcolor(4); printf("RED\n"); textcolor(1); printf("BLUE\n"); textcolor(2); printf("GREEN\n"); textcolor(5); printf("MAGENTA\n"); textcolor(14); printf("YELLOW\n"); textcolor(3); printf("CYAN\n"); textcolor(7); printf("LIGHT GRAY\n"); } 我在网上找不到任何东西…让我们希望从堆栈溢出的好人可以帮助:D 请C,而不是C ++

在Python中打印Unicode字符到标准输出打印错误的字形

我想打印一组Unicode字符到我的命令提示符terminal。 即使我强制编码为“UTF-8”,terminal打印一些垃圾。 $python -c "import sys; print sys.stdout.write(u'\u2044'.encode('UTF-8'))" ΓüäNone $python -c "import sys; print sys.stdout.encoding" cp437 我的默认terminal编码是cp437,我试图重写。 预期的输出是分数斜线(/) http://www.fileformat.info/info/unicode/char/2044/index.htm 相同的一段代码在我的Macterminal中完美地工作,它使用UTF-8作为默认编码。 有没有办法在Windows上显示这个呢? 我在Windows命令提示符下使用的字体是consolas。 我希望我的代码能够处理任何Unicode字符,而不仅仅是这个特定的例子,因为input是一个Web查询结果,我无法控制它。

pipe理数据到Linux程序,期望TTY(terminal)

我有一个Linux程序拒绝运行,如果它的标准input/标准输出不是TTY(terminal设备)。 是否有一个易于使用的工具,将创build一个PTY,与新创build的TTY启动程序,并通过标准input/标准输出复制所有数据? 用例不是交互式的,而是脚本。 我正在寻找最轻量级的解决scheme,最好不要创buildTCP连接,也不需要安装太多的其他工具和库。

python:在Windowsterminal的Unicode,编码使用?

我在Windows 7terminal中使用Python解释器。 我试图围绕unicode和编码包裹我的头。 我input: >>> s='ë' >>> s '\x89' >>> u=u'ë' >>> u u'\xeb' 问题1 :为什么strings使用的编码与unicodestringu使用的编码不同? 我继续,然后input: >>> us=unicode(s) Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0x89 in position 0: ordinal not in range(128) >>> us=unicode(s, 'latin-1') >>> us u'\x89' 问题2 :我试着用latin-1编码,把string变成一个unicodestring(实际上,我先尝试了其他一些string,包括utf-8 )。 我怎样才能找出terminal用来编码我的string的编码? 问题3 […]

ANSI转义序列不会打印到Windows上的stdout

我想在Windows上使用node.js写一个ANSI转义序列到stdout,但它似乎不工作。 具体来说,我使用支持 ANSI代码的ConEmu 。 我创build了一个应该重命名当前控制台选项卡的testing文件: process.stdout.write('\x1b]9;3;"abc"\x1b\x5c'); 然而,当我运行它时没有任何反应。 如果我运行node test > out.txt ,正确的字节被写入输出文件。 为什么转义序列不起作用?