Symlink
在讀取文件時執行一個返回字元串的命令
我有這個想法,也許不可行,但我認為值得一問。
假設使用者正在執行以下命令:
cat ~/file.txt
每當嘗試從該文件中讀取某些內容時,我想改為在後台執行腳本或命令,並將該腳本的響應作為內容返回。
不知何故喜歡這樣做:
ln -s /folder /symlink
但是對於腳本(我的想法):
symlinkcommand /filepath/file.txt "command to run"
希望我說清楚了。如果有任何想法和建議,請回复。
謝謝。
您正在尋找的是可能的,但可能與您想像的不完全一樣。我最常看到它的方式(誠然這是非常罕見的情況)是使用以下
mknod
命令創建正在讀取的文件命名管道(又名 FIFO)特殊文件:mknod file.txt p
然後,您需要在單獨的 shell 中啟動要用於生成“文件內容”的腳本,並在完成時自動重新啟動,以便允許多次讀取該特殊文件。腳本的 STDOUT 將被重定向到命名管道,並且腳本將暫停,直到某個其他程序(原始使用者的程序)開始以某種方式讀取管道。一旦腳本結束,“EOF”信號將傳播到使用者程序,使一切看起來正常。