Ta odpowiedź na Security StackExchange używa interesującej składni bash do wygenerowania pliku w wierszu:
openssl req -new -x509 -nodes -newkey ec:<(openssl ecparam -name secp384r1) -keyout cert.key -out cert.crt -days 3650
Ten kawałek jest szczególnie interesujący:
<(openssl ecparam -name secp384r1)
Działa tylko:
echo <(openssl ecparam -name secp384r1)
Wracam /dev/fd/63
Wydaje się więc, że tworzy tymczasowy deskryptor pliku z zawartością pliku.
Jak to się nazywa?
bash
file-descriptors
mikemaccana
źródło
źródło
git diff --no-index file1 <(cat file2)
nie powiedzie się z:error: /dev/fd/63: unsupported file type
. Możesz także sprawdzić,error: readlink("/dev/fd/63"): No such file or directory
czy implementacja tworzy dowiązanie symboliczne do potoku (z jakiegoś powodu pojawia się jako zepsute łącze).Odpowiedzi:
Nazywa się to podstawieniem procesu i jest cechą bash, zsh i ksh (i ewentualnie innych, nie wiem). To nie jest POSIX i nie należy go używać w przenośnym kodzie, ale jest bardzo przydatny.
Oto odpowiedni rozdział podręcznika bash:
źródło