生成されたプログラムの読み書きデバイスをどのように設定しますか?

生成されたプログラムの読み書きデバイスをどのように設定しますか?

これが可能かどうかはわかりませんが、この概念をどのように研究するのかわかりません。可能ですか、それならどうすればいいですか?

/dev/remoteclip書き込みまたは読み込み時にプログラムまたはシェルスクリプトを生成するデバイスファイル(たとえば)を作成しますか?

ユースケースは、リモートクリップボードにテキストを共有することです。たとえば、私のLinuxボックスの横にMacがあります。現在の状態では、次のようにコンテンツを共有できます。

$ ssh macbox "pbcopy" < myFile
$ ssh macbox "pbpaste" > myFile

Linuxファイルシステムに書き込むときにsshコマンドを実行するデバイスまたはFIFOを持つことができるかどうか疑問に思います。

$ cat myFile >> /dev/macbook-clipboard
$ cat /dev/macbook-clipboard > myFile

このように、エディタやその他のプログラムは単にデバイス/ FIFOに書き込むことができます。

これは、これが可能かどうかについての学習練習に近いです。これは必須ではなく、利点は純粋に学術的であり、一般的なワークフローに役立ちます。

ベストアンサー1

私はこれを達成する方法を見つけました。 FIFOからデータを継続的に読み取るには、バックグラウンドプロセスを作成する必要があります。たとえば、

$ mkfifo hopper
$ while :; do ssh macbox "pbcopy"; done < hopper &
$ cat myFile >> hopper

(ありがとうございます。この回答)

今私はこれを完全に理解していませんが、< hopperwhileループがループをブロックしていると推測するつもりです。これが、CPUが卵を飛ばさず、データがないときにアイドル状態で座っている散在しているSSHセッションがない理由です。 FIFOにパイプされます。

私はこれらのすべての* Unixツールがどれほど慎重で未来的であるかを見て、印象を受けました。私は正直、なぜ学校でこれを教えるのか、現代のソフトウェア開発がなぜこれらの古代の車輪を再作成するのか理解していません。素晴らしい!


上記の手順を終了しますkill %1

おすすめ記事