首页 > 其他 > 详细

输入和输出的重定向 2>&1

时间:2020-04-08 10:40:36      阅读:59      评论:0      收藏:0      [点我收藏+]

1.常识

  •    输入到字符串或者一定内容到另一个文件(会把目标的文件清空) 
    echo "hello world!" > a.txt     
    cat a.txt > b.txt
  •       输入到字符串或者一定内容到另一个文件(不会把目标文件清空,会继续追加,) 
  • echo "hello world!" >> a.txt      
    cat a.txt >> b.txt
  •       注意点,记住,这个>和>>是可以在前面加1的,也就是1>和1>>,效果是一样的

2.上述的常识都是正常的内容输入,对于一些命令是会报错的,那么要把错误内容输出就要变成2

  •   假如a.txt不存在,那么cat a.txt 2> b.txt 执行之后,b.txt的内容就是
    cat: a.txt: No such file or director
     如果执行没有报错,那b.txt就是空
  • 2>> 和2>的区别就是追加报错内容

3.拓展 执行定时任务的时候

  • crontab -l 显示有一行上午六点半执行的脚本 
    30 6 * * * /bin/bash -x /root/bin/task.sh >>/root/bin/task.log 2>&1 &
  • 这里/bin/bash -x /root/bin/task.sh >>/root/bin/task.log 一看就明白,2>&1是什么意思呢? 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了task.log文件,即将标准出错也输出到task.log文件中。最后一个& , 是让该命令在后台执行。

输入和输出的重定向 2>&1

原文:https://www.cnblogs.com/makailong/p/12658072.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!