Peter老师好,为什么说”打死我也想不明白了“?
关于重定向输出失败问题
$ ls shit >output.txt
对于一个不存在的目录,重定向失败问题,就是一个stdio的问题,因为目录不存在,所以ls命令内部这句“ls: cannot access shit: No such file or directory" 是使用fprintf输出到了standard error stream.
而重定向符号 > 或 >> 缺省是装standard output stream内容重定向输出,
如果要将standard error stream重定向输出,则应该如下:$ ls shit 2>error.txt
如果要将standard output stream重定向输出,则可以用以下命令之一:
$ list shit 1>output.txt
$ list shit >output.txt
也就是不写1或2,系统自动认为是1,将标准输出流进行重定向输出
老师您后面自己讲得很清楚了呀,为什么说”打死我也想不明白“?