linux &> 与 >的区别
linux &> 与 >的区别(也可以说成是linux stdout(标准输出) stderr(标准错误)的区别)&>可以将stderr错误信息重定向输出
>可以将stdout标准输出信息重定向输出
下面是实际在linux命令行的测试结果:
# lll
-bash: lll: command not found //由于Linux没有lll这个命令所以会显示错误信息,这个就是stderr输出的错误信息
# lll>test
-bash: lll: command not found//由于这个是错误信息所以不能使用标准输出>将信息重定向到test文件中,所以错误信息直接在控制台打印出来了
# lll&>test//使用&>重定向 错误信息没有输出到控制台了,表示错误信息正确重定向到了test文件
# cat test
-bash: lll: command not found//通过cat命令确实看到了保存的错误信息
总结:>只能将正常信息重定向
&>可以将错误信息或者普通信息都重定向输出(下面是实测)
# cat test
# ll&>test
# cat test
total 8
-rwxr-xr-x 1 root root 79 Jun 29 04:14 script.sh
-rw-r--r-- 1 root root 0 Jun 29 04:52 test
-rw-r--r-- 1 root root 2444 Jun 232014 vpn_centos6.sh
# echo "" >test
# cat test
# ll>test
# cat te
cat: te: No such file or directory
# cat test
total 8
-rwxr-xr-x 1 root root 79 Jun 29 04:14 script.sh
-rw-r--r-- 1 root root 0 Jun 29 04:53 test
-rw-r--r-- 1 root root 2444 Jun 232014 vpn_centos6.sh
#
谢谢分享~
页:
[1]