为了账号安全,请及时绑定邮箱和手机立即绑定

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

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就是空

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文件中。最后一个& , 是让该命令在后台执行。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消