知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

shell标准出错重定向到标准输出

发布时间:2014-09-05 13:59:50作者:知识屋

shell标准出错重定向到标准输出
 
2>&1 是将标准出错重定向到标准输出
 
第二个问题很简单:
 
使用这个命令就可以实现:
 
 cat /etc/passwd | grep root | cut -d ":" -f1
 
实现的效果如下:
 
~$ cat /etc/passwd | grep root | cut -d ":" -f1 
 
root
 
你是这个意思把?
追问
对,就这个意思,还有另外一个&>这个运算符的意思是什么?请救一下。
回答
> 是输出重定向的意思。
> 是以覆盖的方式重定向
>> 是追加的方式重定向。
 
1代表标准输出,2代表错误信息输出.
 
&1 就代表的是标准输出。
 
最后一个& 符号,是后端执行的意思。
 
我找个例子,你耐心研究一下:
 
ls han
ls: 无法访问han: 没有那个文件或目录
 
执行
~$ ls han >1.txt 2>&1
 
在shell中没有任何显示
 
此时再执行~$ cat 1.txt 
ls: 无法访问han: 没有那个文件或目录
 
说明错误信息被重定向到1.txt 这个文件中了。
 
如果不加这个&
 ls han >1.txt 2>1
 
又会多出来一个 1 文件。
 
cat 1
ls: 无法访问han: 没有那个文件或目录
 
看到了把。&1 代表逻辑上的标准输出。 不加& ,那就会产生名为的1的文件
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜