继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

欢乐的马小纪
关注TA
已关注
手记 5
粉丝 3
获赞 8

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


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP