/dev /null 2 ​​> &1 Explique

  

con /dev /null 2 ​​> &1. Este comando significa redirigir toda la salida estándar y la salida de error a /dev /null. Es decir, descartar toda la información generada.

El siguiente es para todos, comando > archivo 2 > archivo es diferente del comando > archivo 2 > &1.

primer comando > archivo 2> archivo significa enviar la información de salida estándar generada por el comando, y la información de salida incorrecta al comando de archivo comando > archivo 2> archivo, stdout y stderr se envían directamente al archivo En este caso, el archivo se abrirá dos veces, de modo que stdout y stderr se sobrescribirán entre sí, de modo que FD1 y FD2 se utilicen para capturar el archivo al mismo tiempo.

y comando > archivo 2 > &1 Este comando envía stdout directamente al archivo. Después de que stderr hereda la canalización FD1, se envía al archivo. En este punto, el archivo solo se abre una vez, y solo se usa una tubería FD1, que incluye el contenido de stdout y stderr. .

Desde la eficiencia de IO, la eficiencia del comando anterior es menor que la de este último, por lo que se compila. Cuando shell scripts, usaremos el comando > archivo 2 > &1 por más de una vez.


Acerca del shell: > /dev /null 2 ​​> &; 1

El shell puede ver a menudo: > /dev /null 2 ​​> &1

El resultado del comando se puede definir en forma de% >

Descomponga esta combinación: " > /dev /null 2 ​​> &1 " para cinco partes.

1: > Representa dónde redirigir, por ejemplo: echo " 123 " > /home/123.txt

2: /dev /null para archivos de dispositivo vacíos

3: 2 > indica error estándar stderr

4: &significa equivalente, 2 > &1, lo que indica que la redirección de 2 salidas es equivalente a 1

5: 1 indica una salida estándar estándar, el valor predeterminado del sistema es 1, por lo que " > /dev /null es equivalente a " 1 > /dev /null "

, por lo tanto, > /dev /null 2 ​​>; 1 también se puede escribir como " 1 > /dev /null 2 ​​> &1 "

El proceso de ejecución de la declaración del título de este artículo es:

1 > /dev /null: primero indica el estándar La salida se redirige a un archivo de dispositivo vacío, es decir, no se envía información al terminal. Para decirlo sin rodeos, no se muestra información.

2 > &1: A continuación, la salida de error estándar se redirige a la salida estándar porque la salida estándar se ha redirigido a un archivo de dispositivo vacío, por lo que la salida de error estándar también se redirige al archivo de dispositivo vacío.


Copyright © Conocimiento de Windows All Rights Reserved