実際にコマンドであるダミーファイルを作成します。

実際にコマンドであるダミーファイルを作成します。

stdoutファイルから読み込むことが実際にコマンドから読み取られるようにダミーファイルを作成する方法はありますかstdin

これまで、inotifywaitこれをファイルが変更されたときにコマンドを呼び出し、ファイルから入力を受け取り、ファイルに書き換えるファイルの1つと組み合わせました。

私は何度も再起動するのが好きではありませんinotifywait(そして常に実行する必要があります)。私はこのファイルを週に2回だけ使用します。

ベストアンサー1

あなたは探しているかもしれません名前付きパイプ

mkfifo f
{
  echo 'V cebqhpr bhgchg.'
  sleep 2
  echo 'Urer vf zber bhgchg.'
} >f
rot13 < f

パイプに書き込むと、リスナーは起動しません。入力を繰り返すには、リスナーを実行し続ける必要があります。

while true; do rot13 <f >decoded-output-$(date +%s.%N); done

複数のプロセスがパイプに書き込まれる場合でも、パイプに書き込まれたすべてのデータがマージされます。複数のプロセスが読み取っている場合は、1つのプロセスだけがデータを取得します。したがって、パイプラインは同時状況に適していない可能性があります。

名前付きソケットは同時接続を処理できますが、これはデフォルトのシェルスクリプトの機能を超えています。

最も複雑な終わりはカスタムファイルシステムopen、それぞれがwriteプログラムで機能をトリガするファイルシステムを設計してインストールできます。最小限の投資は、数十行のマイナーなコーディングです。Python。ファイルの読み込み中にのみコマンドを実行するには、次のものを使用できます。スクリプトファイルシステムまたはヒューズ

おすすめ記事