Esta respuesta en Security StackExchange utiliza una sintaxis bash interesante para generar un archivo en línea:
openssl req -new -x509 -nodes -newkey ec:<(openssl ecparam -name secp384r1) -keyout cert.key -out cert.crt -days 3650
Este bit es particularmente interesante:
<(openssl ecparam -name secp384r1)
Corriendo solo:
echo <(openssl ecparam -name secp384r1)
Regreso /dev/fd/63
Entonces esto parece hacer un descriptor de archivo temporal con el contenido del archivo.
¿Como se llama esto?
bash
file-descriptors
mikemaccana
fuente
fuente
git diff --no-index file1 <(cat file2)
fallará con:error: /dev/fd/63: unsupported file type
. También puede vererror: readlink("/dev/fd/63"): No such file or directory
si la implementación crea un enlace simbólico a la tubería (aparece como un enlace roto por alguna razón).Respuestas:
Se llama sustitución de proceso y es una característica de bash, zsh y ksh (y posiblemente otros, no lo sé). No es POSIX y no debe usarlo en código portátil, pero es muy útil.
Aquí está la sección relevante del manual de bash:
fuente