Katakanlah ada program, yang membutuhkan dua argumen; file input dan file output.
Bagaimana jika saya tidak ingin menyimpan file output ini ke disk, melainkan meneruskannya langsung ke stdinprogram lain. Apakah ada cara untuk mencapai ini?
Banyak perintah yang saya temui di Linux memberikan opsi untuk meneruskan '-' sebagai argumen file output, yang melakukan apa yang saya tentukan di atas. Apakah ini karena melewatkan stdinprogram sebagai argumen tidak mungkin? Jika ya, bagaimana kita melakukannya?
Contoh bagaimana saya akan menggunakan gambar ini adalah:
pdftotext "C BY BRIAN W KERNIGHAN & DENNIS M RITCHIE.pdf" stdin(echo)
Shell yang saya gunakan adalah bash.
cat < README.txt | cp /dev/fd/0. Dikatakancp: missing destination file operand after ‘/dev/fd/0’ Try 'cp --help' for more information.
program input-file /dev/stdout | another-program? Perhatikan juga bahwa echotidak membaca apa pun dari stdin.
cpfile di mana pun. echo 1 2 3| cp /dev/fd/0 /dev/ttyakan dicetak 1 2 3. Dan omong-omong, /dev/fd/[num]lebih cenderung bekerja daripada /dev/std(in|out|err)dalam kebanyakan kasus. Lihat Portabilitas Link Deskriptor File tentang apa yang dapat Anda harapkan untuk bekerja di mana.
cat <file | cmd /dev/fd/0bekerja pada sebagian besar unix.