Diciamo che esiste un programma, che accetta due argomenti; file di input e file di output.
Che cosa succede se non desidero salvare questo file di output su disco, ma piuttosto passarlo direttamente a stdinun altro programma. C'è un modo per raggiungere questo obiettivo?
Molti comandi che trovo su Linux forniscono un'opzione per passare "-" come argomento del file di output, che fa ciò che ho specificato sopra. Questo perché passare stdinun programma come argomento non è possibile? Se lo è, come lo facciamo?
Un esempio di come immaginerei di usare questo è:
pdftotext "C BY BRIAN W KERNIGHAN & DENNIS M RITCHIE.pdf" stdin(echo)
La shell che sto usando è bash.
cat < README.txt | cp /dev/fd/0. Dicevacp: missing destination file operand after ‘/dev/fd/0’ Try 'cp --help' for more information.
program input-file /dev/stdout | another-program? Si noti inoltre che echonon legge nulla dallo stdin.
cpun file da nessuna parte. echo 1 2 3| cp /dev/fd/0 /dev/ttystamperà 1 2 3. A proposito, /dev/fd/[num]è più probabile che funzioni rispetto /dev/std(in|out|err)alla maggior parte dei casi. Vedi la portabilità dei collegamenti descrittori di file su cosa puoi aspettarti di lavorare dove.
cat <file | cmd /dev/fd/0funziona sulla maggior parte dei computer.