Diyelim ki iki argüman alan bir program var; girdi dosyası ve çıktı dosyası.
Ya bu çıktı dosyasını diske kaydetmek istemiyorsam, doğrudan stdinbaşka bir programa aktarmak istersem . bunu arşivlemenin bir yolu var mı?
Linux'ta karşılaştığım birçok komut, çıktı dosyası argümanı olarak '-' iletme seçeneği sunuyor, bu da yukarıda belirttiğim şeyi yapıyor. Bunun nedeni stdinbir programın argüman olarak aktarılması mümkün değil mi? Öyleyse, nasıl yapıyoruz?
Bunu kullanarak görüntü nasıl bir örnek:
pdftotext "C BY BRIAN W KERNIGHAN & DENNIS M RITCHIE.pdf" stdin(echo)
Kullandığım kabuk bash.
cat < README.txt | cp /dev/fd/0. O dedicp: missing destination file operand after ‘/dev/fd/0’ Try 'cp --help' for more information.
program input-file /dev/stdout | another-program? Ayrıca echo, stdin'den hiçbir şey okumadığını unutmayın .
cphiçbir yerde bir dosya yapamazsınız . echo 1 2 3| cp /dev/fd/0 /dev/ttyyazdıracaktır 1 2 3. Bu arada, çoğu durumda /dev/fd/[num]çalışma olasılığı daha yüksektir /dev/std(in|out|err). Nerede çalışacağını bekleyebileceğiniz hakkında Dosya Tanımlayıcı Bağlantılarının Taşınabilirliği konusuna bakın .
cat <file | cmd /dev/fd/0çoğu unice üzerinde çalışır.