実際、スクリプトの出力である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)
その後、シェルは出力を解釈します。