Sto cercando di capire le pipe nominate nel contesto di questo esempio particolare.
Digito <(ls -l)nel mio terminale e ottenere l'output come, bash: /dev/fd/63: Permission denied.
Se digito cat <(ls -l), potrei vedere il contenuto della directory. Se lo sostituisco catcon echo, penso di ottenere il nome del terminale (o è?).
echo <(ls -l)fornisce l'output come /dev/fd/63.
Inoltre, questo esempio di output non mi è chiaro.
ls -l <(echo "Whatever")
lr-x------ 1 root root 64 Sep 17 13:18 /dev/fd/63 -> pipe:[48078752]
Tuttavia, se do, ls -l <()mi elenca il contenuto della directory.
Cosa sta succedendo nel caso della pipa denominata?
mkfifocrea solo la pipe denominata, senza alcun contenuto. Quindi devi scriverti da solo (ad esmkfifo mypipe; ls > mypipe.). E sì, le scritture sulla pipe si bloccheranno fino a quando qualche processo non legge dalla pipe.