我想創建一些類似文件的東西(可以像普通文件一樣讀取),每次讀取它時,它都會從命令獲取輸出。
例如,如果我這樣做echo $RANDOM > test
,那麼我可以呼叫它cat test
,它將顯示生成的隨機數。
除了我需要每次呼叫cat test
(或以任何其他方式讀取它)時,都會呼叫我的生成器命令(echo $RANDOM
在我的範例中,但實際上它會產生更多資料 - 大約 1kb)。
我認為最好的選擇是創建某種設備特殊文件/設備驅動程式?我需要的確實類似於 /dev/zero 或 /dev/random。是否可以簡單地創建它?使用標準 gnu/sh 函式庫會比較理想嗎?
預先感謝您的任何提示!
答案1
使用命名管道功能:
mkfifo myfancypipe;
while true; do bash -c 'echo $RANDOM' > myfancypipe; done
現在轉到另一個終端,每次您都會呼叫:
cat myfancypipe
您將從以下位置獲取信息echo $RANDOM