还是请教最简单的SHELL编程
请问下面这句话什么意思?
mkdir $DIREC> /dev/null 2> &1
1、建目录之后为什么要重定向到/dev/null
2、/dev/null 是什么意思?
3、2> &1呢?
------解决方案--------------------1. 重定向到/dev/null 表示指定屏幕输出路径为/dev/null
2. 一个空的虚拟设备
3. &1 更准确的说应该是文件描述符 1, 而1 代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO),其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输出被合并了
0表示键盘输入
1表示屏幕输出
2表示错误输出
因此,2> &1 就表示 错误信息重定向到 普通输出 的路径下
比如
1> /dev/null 2> &1
先将stdout重定向到/dev/null,再将错误信息重定向到stdout,则错误信息将写入/dev/null,通常用于我们需要结果$?,但又不想看到错误提示的时候
------解决方案--------------------楼上正解, 完全正确. 我就不废话了.