
ファイルの内容を貼り付けバッファに読み込み、画面に標準出力したいです。次のようにしました:
screen -X readbuf /home/nitro/file|screen -X writebuf|cat /tmp/screen-exchange
しかし、cat
コマンドは、readbuf コマンドの以前の結果を含む画面交換ファイルを表示しました。これらのコマンドを個別に実行すると、すべてが正しくなり、変更された画面交換ファイルが得られます。
readbuf、writebuf、cat の 3 つのコマンドを一度に実行するにはどうすればよいですか?
答え1
これらのコマンド:
screen -X readbuf /home/nitro/file
screen -X writebuf
cat /tmp/screen-exchange
パイプの一部として動作しませんが、複合コマンドはそれらをパイプの一部として扱おうとします。つまり、各ステップは前のステップの標準出力を読み込まないので、次のように入力した場合よりも因果関係が少なくなります。
screen -X readbuf /home/nitro/file; screen -X writebuf; cat /tmp/screen-exchange
または
screen -X readbuf /home/nitro/file && screen -X writebuf && cat /tmp/screen-exchange