shell 重定向0,1,2 0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如2>a.txt 表示将错误信息输出到文件a.txt中。 #将1,2输出转发给/dev/null设备 [chengmo@centos5 shell]$ ls test.sh test1.sh2>/dev/null1>/dev/null#将错误输出2绑定给 正确输出...
/2.sh > 1.txt // 会看到报错直接在终端上显示,未输出到1.txt,因为这里是标准输出,没有写标准错误输出重定向到1.txt ./2.sh 1> 1.txt 2> ./1.txt 这样就把标准错误输出到了1.txt 但是有个问题,这个写法相当于,打开了两次1.txt, 标准输出被标准错误输出给覆盖了 ....
command 2>> filename 把标准输出重定向到filename文件中(追加) command > filename 2>&1把标准输出和标准错误一起重定向到filename文件中(覆盖) command >> filename 2>&1把标准输出和标准错误一起重定向到filename文件中(追加) command < filename >filename2 把标准输入重定向到filename文件中,把标准输出...
shell 重定向0,1,2 0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如2>a.txt 表示将错误信息输出到文件a.txt中。 #将1,2输出转发给/dev/null设备 [chengmo@centos5 shell]$ ls test.sh test1.sh2>/dev/null1>/dev/null#将错误输出2绑定给 正确输出...
命令执行,没有任何返回值,原因是,返回值都重定向到相应的文件中了,而不再在前端显示。 # cat file.out # cat file.err 一般来说, "1>" 通常可以省略成 ">",那么上述命令可以写成: # ll test01.txt test02.txt >file.out 2>file.err 基于上述认识,我们才能理解 "1>&2" 和 "2>&1".。
所以,像1>&2中的&,可以理解成一个转义符 总结: &是一个描述符,如果1或2前不加&,会被当成一个普通文件。 >是1>的简写。 1>&2:标准输出重定向到标准错误。 2>&1:标准错误重定向到标准输出。 &> file和>& file意思是把标准输出和标准错误输出都重定向到文件file中...
shell 重定向 1> 2> &> 0表示标准输入 1表示标准输出 2表示标准错误输出 > 默认为标准输出重定向,与 1> 相同 2>&1 意思是把 标准错误输出 重定向到 标准输出. &>file 意思是把 标准输出 和 标准错误输出 都重定向到文件file中 举例(del.sh)...
>和>>都是重定向输出 ,1> 指标准信息输出路径(也就是默认的输出方式) ,2> 指错误信息输出路径 ,2>&1 指将标准信息输出路径指定为错误信息输出路径。操作方法如下:1、首先将输入分割成关键字和运算符,服从引用的规则,这些符号会被分成元操作符,别名也会在这里扩展成元操作符。2、变量名...
于是就有如下2>&1重定向命令了。 1、> 2>&1:作用是将标准输出与错误输出都重定向到文件中(会清空原有文件的内容),主要用法是:命令 > 文件 2>&1; 2、>> 2>&1:作用是将标准输出与错误输出都重定向到文件中(追加到原有文件内容后面),主要用法是:命令 >> 文件 2>&1; ...
首先了解下1和2在Linux中代表什么,先整理一份在Linux系统中0 1 2是一个文件描述符:从上表看的出来,我们平时使用的echo"hello" > t.log 其实也可以写成echo "hello" 1> t.log1关于2>&1的含义含义:将标准错误输出重定向到标准输出符号>&是一个整体,不可分开,分开后就不是上述含义了。比如有些人...