zhaolei:~ zhaolei$ zl > hello.txt
-bash: zl: command not found
由于zl命令不存在,所以会提示错误,我们希望将错误输入到hello.txt中,结果是生成了hello.txt文件,但是其内容为空.怎么办?可以运行下面的命令.
zhaolei:~ zhaolei$ zl > hello.txt 2>&1
#查看hello.txt内容
zhaolei:~ zhaolei$ cat hello.txt
-bash: zl: command not found
也就是说把错误信息输入到了hello.txt文件中了.假设zl命令存在,hello.txt的内容就为zl执行后返回的内容,当程序出错后,错误内容也被写入到hello.txt中
2>&1中的数字有不同的意思,可选为0-2
0:标准键盘输入
1:屏幕输出
2:错误输出
2>&1 就是把标准错误输入到屏幕上.为什么前面有个&符号?
比如我们执行 echo 2>1 就是把2写入到文件1中,为了区别,我们在前面加上了&符号
如果我们像把正常的,错误的信息都输入到文件,可以写为 ./zl &>hello.txt
或者我们就想执行./zl而不管什么错误或者正确,可以写为 ./zl &>/dev/null
/dev/null相当于黑洞设备,你可以把任何东西扔进去,相当于一个垃圾桶.但你无法查看垃圾桶里面的内容
浙公网安备 33010602011771号