Diese Antwort auf Security StackExchange verwendet eine interessante Bash-Syntax, um eine Datei in-line zu generieren:
openssl req -new -x509 -nodes -newkey ec:<(openssl ecparam -name secp384r1) -keyout cert.key -out cert.crt -days 3650
Dieses Bit ist besonders interessant:
<(openssl ecparam -name secp384r1)
Laufen nur:
echo <(openssl ecparam -name secp384r1)
Ich komme zurück /dev/fd/63
Dies scheint also einen temporären Dateideskriptor mit dem Inhalt der Datei zu bilden.
Wie heißt das?
bash
file-descriptors
Mikemaccana
quelle
quelle
git diff --no-index file1 <(cat file2)
fehl mit:error: /dev/fd/63: unsupported file type
. Sie können auch sehen,error: readlink("/dev/fd/63"): No such file or directory
ob die Implementierung einen Symlink zur Pipe erstellt (erscheint aus irgendeinem Grund als defekter Link für mich).Antworten:
Es wird Prozessersetzung genannt und ist eine Funktion von bash, zsh und ksh (und möglicherweise anderen, die ich nicht kenne). Es ist kein POSIX, und Sie sollten es nicht in portablem Code verwenden, aber es ist sehr nützlich.
Hier ist der relevante Abschnitt des Bash-Handbuchs:
quelle