我需要直接将终端标准输出复制到 Mac 上的剪贴板。我该怎么做?
例子:
echo sometext | copy_to_clipboard
或者
echo sometext > /private/clipboard.txt
视窗控制台:
如何在不使用中间文件的情况下通过 B 获得 A 的输出?
换句话说:Windows 相当于/dev/stdout什么?
假设我有两个名为ProgramA和 的程序ProgramB。我想在 Windows cmd 解释器中同时运行它们。但我希望StdOutofProgramA挂钩到StdInof ProgramB,而StdOutofProgramB挂钩到StdInof ProgramA。
像这样的东西
________________ ________________ | | | | | StdIn(== ? === ? ==(StdOut | | 程序A | | 程序B | | | | | | 标准输出)== ? === ? ==)标准输入 | |________________| |________________|
是否有任何命令可以执行此操作 - 某种方法可以从 cmd 实现此功能?
我不知道这种情况的名称是什么,我想昨天我关闭了一个带有后台 ipython 进程的会话,但我仍然能够连接到它(该进程正在运行一个 Web 服务器,我可以加载页面)。我还能看到进程的标准输出/标准错误吗?
如果我运行ps -f -Umyname我得到(我删除了一些不相关的行,但 PID 和 PPID 是真实的):
UID PID PPID C STIME TTY STAT TIME CMD
16131 1767 1765 0 11:20 ? S 0:03 sshd: myname@notty
16131 1946 21019 0 11:25 ? Sl 1:47 /usr/bin/python -m IPython.kernel -f /home/myname/.ipython/profile_default/security/kernel-c72091
16131 3946 21019 0 14:37 pts/3 Ss+ 0:00 /bin/bash
16131 4003 4001 0 14:38 ? S 0:01 sshd: myname@pts/14
16131 4004 4003 0 14:38 pts/14 Ss 0:00 -bash
16131 6366 4004 0 16:41 pts/14 …Run Code Online (Sandbox Code Playgroud) $ mysql -e 'select a,b from tablefoo' databasename
Run Code Online (Sandbox Code Playgroud)
产量
+---+---+
| a | b |
+---+---+
| 1 | 0 |
| 2 | 1 |
+---+---+
Run Code Online (Sandbox Code Playgroud)
然而
$ mysql -e 'select a,b from tablefoo' databasename > file
Run Code Online (Sandbox Code Playgroud)
产生一个file包含
a b
1 0
2 1
Run Code Online (Sandbox Code Playgroud)
(其中一个制表符位于每行的字母数字字符之间)。
我认为重定向不应该改变输出。为什么我得到两个不同的结果?
编辑: 威廉杰克逊的回答说这是 mysql 的一个特性:输出格式取决于输出是否被重定向。不过,这并不能回答我的问题。mysql 如何“知道”输出是否被重定向?重定向是否不仅获取输出,而且还重定向到某个地方?那不应该对mysql不可见吗?
所以,我有一个我发出的命令,它本质上是“ssh”到各种主机中:
command 2&>1 | grep "desired output"
Run Code Online (Sandbox Code Playgroud)
每隔一段时间,在命令执行过程中,它就会遇到一个我没有设置密钥的主机。发生这种情况时,我得到以下输出:
Password:
Run Code Online (Sandbox Code Playgroud)
由于我将 STDERR 重定向到 STDOUT,然后过滤 STDOUT 以只给我“所需的输出”(不包括“密码:”),密码提示是如何呈现给我的?
当我意识到命令错误时,我正在寻找某种方法来停止输出到 STDOUT。例如,如果我不小心捕获了一个非常大的文件。通常,如果您按住ctrl+c,它最终会停止,但需要很长时间。
有没有办法立即停止输出?
我正在尝试加密某些内容gpg -a并将结果返回到标准输出而不是文件。根据手册,省略--output标志应该就足够了,但情况似乎并非如此。当我没有指定输出文件时,gnupg 假定我正在输出[input-file].gpg而不是 stdout。
有没有办法让 GPG 做到这一点,或者我必须将它加密到一个临时文件然后cat它?
下午好,
(OS X 用户)
我特别想将我输入的每个 shell 命令的输出通过管道传输到 ruby gem 'lolcat'(这使得输出到终端彩虹色)。
有没有办法在不单独显式别名命令的情况下做到这一点?我在想也许有一种方法可以在按下返回键之前通过管道传输任何内容,但我不确定如何执行此操作。
感谢您的帮助,因为我厌倦了在终端中只看一种颜色。
假设我at在 Linux 上运行一个脚本(下面的示例),我知道这将需要几个小时,甚至可能需要几天。我习惯于at在命令完成后发送带有命令输出的电子邮件,但是如果我想在完成之前查看当前输出怎么办?我们还假设我已经运行了脚本并且忘记使用tail、tee或其他类似方法重定向输出并且不想停止脚本。有没有办法做到这一点?
drew@anubis:~$ at now
warning: commands will be executed using /bin/sh
at> ./myscript.sh
at> <EOT>
job 3 at Sat Jan 7 09:31:00 2017
Run Code Online (Sandbox Code Playgroud)