Shell

如何創建一個偽文件,每次讀取時從命令中獲取其內容

  • April 6, 2020

我想創建一些類似文件的東西(可以像普通文件一樣讀取),每次讀取它時,它都會從命令中獲取輸出。

例如,如果我這樣做echo $RANDOM > test,那麼我可以呼叫cat test它,它會顯示生成的隨機數。

除了每次呼叫cat test(或以任何其他方式讀取)時我都需要呼叫生成器命令(echo $RANDOM在我的範例中,但實際上它會生成更多數據——大約 1kb)。

我認為最好的選擇是創建某種設備特殊文件/設備驅動程序?我需要的確實類似於 /dev/zero 或 /dev/random。是否可以簡單地創建它?使用標準的 gnu/sh 庫會是理想的嗎?

提前感謝您的任何提示!

使用命名管道功能:

mkfifo myfancypipe;
while true; do bash -c 'echo $RANDOM' > myfancypipe; done

現在去另一個終端,每次你都會打電話:

cat myfancypipe

您將從echo $RANDOM

引用自:https://unix.stackexchange.com/questions/578250