Tag: 重定向

我怎样才能写入stderr以便stderred将它变成红色?

作为背景,我之前问过这个问题 。 当我在终端上显示时,我正在使用stderred将stderr文本变成红色。 这在大多数情况下都很好用,更具体地说,对于看似二进制可执行文件而不是bash脚本。 我意识到当从终端调用的command直接引用stderr时, stderred似乎不起作用。 例如,如果我使用重定向,使用stderred我仍然没有红色,如下所示: echo “pomme” 1>&2 重定向与stderred钩子的其他情况有何不同? 如果我在/bin/bash上下文中重定向1>&2 ,如何在bash脚本(Ubuntu 15.10)中进行重定向?

为什么使用管道而不是输入重定向

我是linux系统的新手,我无法理解为什么我们需要两个可以重定向输出的运算符:pipe as | 和输出重定向运算符> ? 难道我们不能只使用第二个吗? 大多数时候,我看到如果将多个命令链接在一起,则使用管道。 但是,如果输出被重定向到文件,如echo ‘hello’ > filename ,则使用输出重定向运算符。 我在这里想念的是什么?

我什么时候应该使用<或<()或<或>()?

我知道< , <() , << all用于提供输入和> , >() ,它们用于重定向输出。 但我不知道它们之间有什么明显的区别以及何时使用它们。 如果可能的话,请详细说明并附上参考文献。 谢谢

如何理解输出重定向的顺序?

所以我正在努力学习如何将标准输出和标准错误传递到各个领域。 假设我只有here.txt的文件夹。 所以,如果我这样做 ls here.txt not-here.txt 1>out 2>&1 由于here.txt存在,我将有一些输出指向文件out但由于not-here.txt不存在,错误将通过标准错误发送,我将重定向到标准输出2>&1 。 但是,为什么这不起作用: ls here.txt not-here.txt 2>&1 1>out 似乎只有在标准输出指令后进行重定向才能工作? 为什么?

将扬声器输出重定向到麦克风

我可以将扬声器的输出重定向到麦克风吗? 我不想打开扬声器。 我想要实现的是,说我正在进行video聊天,并希望对方听到声音。 我希望扬声器的声音能够传送到麦克风。 我在使用耳机时会很有帮助。

使URL指向本地文件夹

我有一个URL,在我的Ubuntu 16.04机器上映射到本地文件夹。 例如,我需要https://domainxxx.xxx指向/home/user/folder 。 我特别需要包括domainxxx.xxx/file.js而不是远程服务器上的真正’ domainxxx.xxx/file.js ‘,而是我机器上的/home/user/folder/file.js 。 我已经读过/etc/hosts的条目是不可能的。 我怎样才能做到这一点?

如何将脚本/程序输出到文件中?

我正在使用make编译程序,并希望将make的输出写入文件。 我尝试过使用>运算符 make > build_log.txt 并使用tee命令 make | tee build_log.txt 但问题是一些输出进入文件但rest一直出现在屏幕上。 我可以在运行make之后将文本从终端复制/粘贴到文件中,但这不是解决方案。 所以我的问题是如何保存,即将所有输出重定向到文件,以便它只进入文件而不出现在屏幕上。

shell以什么顺序执行命令和流重定向?

我今天试图将stdout和stderr重定向到一个文件,我遇到了这个: > file.txt 2>&1 这显然首先将stderr重定向到stdout ,然后将生成的stdout重定向到file.txt 。 但是,为什么不是命令 2>&1 > file.txt ? 人们自然会将此读作(假设从左到右执行)首先执行的命令,将stderr重定向到stdout然后,将生成的stdout写入file.txt 。 但上面只将stderr重定向到屏幕。 shell如何解释这两个命令?

将输出重定向到变量?

我很有兴趣将两个命令的输出定向到一个变量。 我不希望输出显示在屏幕上,而是分配给我的脚本中的变量,以便我可以再次使用它。 我正在做的是使用下面的命令从目录中获取文件大小: ls -l /var/spool | wc -c 此命令以字节为单位获取文件大小,并将输出显示为整数。 我有兴趣将这个整数分配给我喜欢的变量,以便我可以稍后将它与另一个变量进行比较 这似乎不起作用: size = ls -l /var/spool | wc -c 重定向会有效吗? 像这样…. ls -l /var/spool | wc -c > size 无论哪种方式,我希望将此数字输出分配给变量而不显示在屏幕上。 任何建议都非常欢迎!

输出重定向到底意味着什么?

我看到command 1> out或2>&1来重定向stderr,但有时我也看到&>本身,等等。 理解的最佳方式是什么?它究竟意味着什么?