51Testing软件测试论坛

标题: linux &> 与 >的区别 [打印本页]

作者: 做自己的女王ヽ    时间: 2018-3-1 13:46
标题: linux &> 与 >的区别
  1. linux &> 与 >的区别(也可以说成是linux stdout(标准输出) stderr(标准错误)的区别)
  2. &>可以将stderr错误信息重定向输出

  3. >可以将stdout标准输出信息重定向输出



  4. 下面是实际在linux命令行的测试结果:
  5. [root@Dev_yang shellScript]# lll
  6. -bash: lll: command not found   //由于Linux没有lll这个命令所以会显示错误信息,这个就是stderr输出的错误信息
  7. [root@Dev_yang shellScript]# lll>test
  8. -bash: lll: command not found  //由于这个是错误信息  所以不能使用标准输出>将信息重定向到test文件中,所以错误信息直接在控制台打印出来了
  9. [root@Dev_yang shellScript]# lll&>test  //使用&>重定向 错误信息没有输出到控制台了,表示错误信息正确重定向到了test文件
  10. [root@Dev_yang shellScript]# cat test
  11. -bash: lll: command not found  //通过cat命令确实看到了  保存的错误信息




  12. 总结:>只能将正常信息重定向
  13.     &>可以将错误信息或者普通信息都重定向输出(下面是实测)

  14. [root@Dev_yang shellScript]# cat test

  15. [root@Dev_yang shellScript]# ll&>test
  16. [root@Dev_yang shellScript]# cat test
  17. total 8
  18. -rwxr-xr-x 1 root root   79 Jun 29 04:14 script.sh
  19. -rw-r--r-- 1 root root    0 Jun 29 04:52 test
  20. -rw-r--r-- 1 root root 2444 Jun 23  2014 vpn_centos6.sh
  21. [root@Dev_yang shellScript]# echo "" >test
  22. [root@Dev_yang shellScript]# cat test

  23. [root@Dev_yang shellScript]# ll>test
  24. [root@Dev_yang shellScript]# cat te
  25. cat: te: No such file or directory
  26. [root@Dev_yang shellScript]# cat test
  27. total 8
  28. -rwxr-xr-x 1 root root   79 Jun 29 04:14 script.sh
  29. -rw-r--r-- 1 root root    0 Jun 29 04:53 test
  30. -rw-r--r-- 1 root root 2444 Jun 23  2014 vpn_centos6.sh
  31. [root@Dev_yang shellScript]#
复制代码



作者: 梦想家    时间: 2018-3-6 10:18

谢谢分享~




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2