Questions tagged «redirect»

重定向是对标准数据流的切换,以便它来自其默认源以外的其他源,或者使其到达其默认目的地以外的某个其他目的地。


8
“重定向”和“管道”有什么区别?
这个问题听起来有点愚蠢,但是我真的看不到重定向和管道之间的区别。 重定向用于重定向stdout / stdin / stderr,例如ls > log.txt。 管道用于将命令的输出作为另一个命令的输入,例如ls | grep file.txt。 但是,为什么会有两个运算符来处理同一件事? 为什么不只是写写ls > grep来传递输出,这也不只是一种重定向吗?我缺少什么?
204 pipe  redirect 


6
Shell以什么顺序执行命令和流重定向?
我今天试图将两者stdout和stderr文件都重定向,但遇到了这个问题: <command> > file.txt 2>&1 显然,这将首先重定向stderr到stdout,然后将结果stdout重定向到file.txt。 但是,为什么不下订单<command> 2>&1 > file.txt?人们自然会将其读为(假设从左到右执行)先执行的命令,然后将stderr其重定向到stdout,然后将结果stdout写入file.txt。但是以上内容仅重定向stderr到屏幕。 Shell如何解释这两个命令?

4
&>和2>&1有什么区别
有两种形式重定向的标准输出和标准错误到标准输出。但是哪个更好?为什么&>认为完美? 我找不到什么区别,因此许多教程,甚至bash手册状态 &>都更好! 所以,我为什么要使用&>而不是2>&1 主要使用bash外壳 编辑:感谢评论员 仅>&可在csh或tcsh中使用 在ksh中,只有2>&1有效。 短划线使用>文件2>&1重定向 然后使用哪一个来确保我的脚本与其他系统兼容,无论使用的shell是什么!






3
如何将2> / dev / null作为变量传递?
我有这段代码可以工作: # Hide irrelevant errors so chrome doesn't email us in cron if [[ $fCron == true ]] ; then google-chrome --headless --disable-gpu --dump-dom \ "$RobWebAddress" > "$DownloadName" 2>/dev/null else # Get silly error messages when running from terminal google-chrome --headless --disable-gpu --dump-dom \ "$RobWebAddress" > "$DownloadName" fi 如果我尝试这样缩短它: # …

2
如何将输出重定向到屏幕以及文件?
我的目的是将脚本的所有输出记录到该脚本将要创建的目录中。 例如,我有: ~/.abc.sh: #! /bin/bash rails new myapp 我跑步的时候 cd ~/code . ~/.abc.sh ...将在目录中创建一个新的Rails应用程序~/code/myapp。 Rails创建应用程序时,它会输出大量我要捕获的文本,并将其存储在与rails新创建的命令相同的目录中的日志文件中。我也想在终端中显示该文本。 我该怎么做呢?
12 bash  redirect 

5
缩短或合并`&> / dev / null&`的多行
每次启动机器时,我都会运行以下程序: $ cat start.sh #! /bin/bash google-chrome &> /dev/null & lantern &> /dev/null & xdg-open . &> /dev/null & emacs &> /dev/null & code ~/Programs/ &> /dev/null & xdg-open ~/Reference/topic_regex.md &> /dev/null & 笨拙的&> /dev/null &...我该如何缩短逻辑?

1
如何设置本地主机以重定向网站
我是在尴尬的情况下问这个问题。您可能知道或不知道,谷歌在中国被屏蔽。一个令人沮丧的后果(至少对我来说)是,访问Stack Exchange网站非常困难,例如Stack Overflow,在我获得英国学位期间,我曾经非常活跃。加载页面可能需要20多个时间。问题是Stack Exchange网站依赖于外部的JAVA脚本 http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js 但由于Google被阻止,因此无法访问此脚本。但是Firefox将花费大量时间来尝试获取此脚本。(请注意,jquery的版本将来可能会更改,但在询问此问题时为1.12.4。使用F12检查最新版本。) 实际上,可以从以下位置免费访问此脚本 https://code.jquery.com/jquery-1.12.4.min.js 因此,理想的解决方案是将Google域下的页面重定向到Jquery域。 通过修改/etc/hosts文件可以做到吗?目前,我只是在进行残酷的网页拦截: 127.0.0.1 ajax.googleapis.com 尽管Firefox现在将停止尝试加载此脚本,因此访问堆栈交换站点的速度与平常一样快,但是许多站点功能都无法使用,例如投票等。因此,最好的解决方案是重定向。 如果无法立即重定向,那么我想我需要将Java脚本从Jquery下载到我的笔记本电脑,然后将googleapis页面重定向到我的本地主机。但是,我不知道如何设置本地主机,特别是在哪里放置下载的脚本。 谁能帮我吗?非常感激。

2
使用'-<<(…)'进行命令输出重定向
我需要提取阴影。这可行,但是谁能解释原因? sed 's/^.*= //' -&lt; &lt;(openssl dgst -sha256 filename) 我很熟悉的$( )概念,但是无法找到文档&lt;( ),再加上-&lt;,我以为被重定向到sedSTDIN。 我知道有更简单的方法,但是这种构造使我难以理解。
10 bash  redirect  syntax 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.