proceso de reemplazo shell

 

Y el proceso de sustitución de comandos es muy similar. Alternativamente comando es la salida de un comando asignado a otra variable , por ejemplo, dir_files=`ls -l`o date_time=$(date), el proceso alternativo es para pasar la salida de un comando a otro comando (grupo) .

el uso de sustitución proceso 0.shell

escritura significado notas naturaleza
<(comandos)

Significa de la redirección de entrada, su salida se puede usar como otra entrada de comando

lista de comandos es un conjunto de comandos para comandar un punto y coma pluralidad ;separó. Tenga en cuenta que, <o >no hay espacio entre los paréntesis . / Dev / fd / n documento de aceptación (comandos) de salida, como otra entrada de comando
> (Comandos)

Significa de redirección de la salida, para aceptar otro estándar de salida de comando

La lectura desde / archivo dev / fd / n como (comandos) de entrada

1. Necesidad de utilizar el proceso para reemplazar

para Li resultado explicación

El modo normal

  1. eco  "aaaaa"  lectura AA
  2. echo  $ AA
La salida está vacía

comando echo en el Shell de los padres, y leer comandos se ejecutan en el sub Shell en , al final de la sub ejecución de lectura Shell se destruye, variables AA desaparece.

comando de tuberías siempre se ejecuta en la sub-Shell, cualquier comando a los valores asignar a las variables se reunió con este problema.

Uso sustitución proceso

  1. leer AA <(eco  "aaaaa" )
  2. echo  $ AA
La salida es aaaaa En general, Shell el echo "aaaaa"resultado de salida se lee como una entrada. <()Se utiliza para capturar la salida del comando echo, <para redirigir el resultado de leer.

Nota que dos <es un espacio entre el primero <representa la redirección de entrada, segundo <y ()juntos representan el proceso de sustitución.

comando de lectura y el segundo comandos echo correr en el proceso actual de Shell , leer los datos se guarda en la variable de proceso actual de AA, es posible utilizar con éxito el eco de salida.

Ejemplos de procesos utilizados para sustituir "acepta la entrada estándar" en

echo "QPY">> (leer; echo "你好, $ REPLY")

Resultados de ejecución: Hola, QPY Debido al uso de la redirección, comandos de lectura de echo "qpy"la salida de los datos leídos.

2. Sustituir la naturaleza del proceso de

Para ser capaz de transferir datos entre los diferentes procesos, de hecho, el proceso de sustitución se asociará con los archivos de sistema , el nombre de este archivo es /dev/fd/n(n es un número entero). El archivo se pasa como argumento para ()el comando, ()el comando es para leer o escribir en el fichero depende del formato del proceso de sustitución se <sigue >:

  • Si es así >(), entonces el archivo dará ()la orden para proporcionar información; Con redirección de la salida, lo que para entrar puede provenir de otros comandos.
  • Si es así <(), entonces el archivo recibe ()la salida del comando; a través de la redirección de entrada, el contenido del archivo se pueden utilizar como otros comandos de entrada.


Utilice el comando echo para ver el proceso de sustitución del nombre del archivo correspondiente:

comando exportación explicación

eco> (verdadero)

/ Dev / fd / 63

/dev/fd/Hay una gran cantidad de números en el archivo de directorio, el proceso se utiliza generalmente para reemplazar el archivo 63, que es un sistema de archivos interno, generalmente nos vemos menos.

/dev/fd/63Desempeñado un papel en la transferencia de archivos de datos o puente de los datos, la redirección, será >()comandos internos y externos vinculados comandos para que los datos pueden fluir entre estos comandos.

echo <(true)

/ Dev / fd / 63

eco> (true) <(true)

/ Dev / fd / 63 / dev / fd / 62

echo "QPY">> (leer; echo "hola, $ REPLY")

hola, QPY

La primera >representa la redirección de la salida, lo que da salida al resultado del primer comando echo se redirige a /dev/fd/63un archivo.

>()El comando de lectura de la /dev/fd/63中读取内容lectura, y luego emite un comando de lectura para el eco del contenido.



Supongo que te gusta

Origin www.cnblogs.com/ting152/p/12554501.html
Recomendado
Clasificación