実際には、スクリプトの出力である特別なファイルをLinuxで作成できますか? [閉鎖]

実際には、スクリプトの出力である特別なファイルをLinuxで作成できますか? [閉鎖]

実際、スクリプトの出力であるmknodを使用してLinux上で特別なファイルを作成できますか?

例:

cat specialfile

出力:

testing 123

特殊ファイル内で:

echo "testing 123"

したがって、実際に表示するのではなく、 echo "testing 123"
スクリプトの出力結果を表示します。testing 123

スクリプト名と出力ハンドルを編集できるように、2つの異なるファイルでなければならないことを知っています。 specialfile.shスクリプトと specialfileハンドルの場合

答え1

名前付き FIFO( mkfifo <name>) を生成したら、次のことができます。

mkfifo my-fifo
echo "testing 123" > my-fifo

別のシェルで次の操作を行います。

dumb-program my-fifo

愚かなプログラムにとって、FIFOはファイルのように見えます(正確には見つからないのでそうではありません)。これは、次のように匿名パイプを使用してこれを実行するのと同じです。

echo "testing 123" | dumb-program /dev/stdin

または、次のように最新のシェルでプロセス置換を使用します。

dumb-program <(echo "testing 123")

デバイスノードについてはわかりませんが、私には問題に間違った方法でアクセスしているようです。

答え2

catコマンドラインのサブシェルからこれを実行できます。

$(cat specialfile)

その後、シェルは出力を解釈します。

関連情報