コンテキスト:テキストエディタを介してリモートコンピュータにコマンドを実行したいです。
「リモートコマンドの実行」とは、仮想マシン、SSHサーバー、コンテナ、TCP経由のシェル、シェルを持つすべてのリモートマシンなど、どこかでシェルコマンドを実行することを意味します。
私が言う「インターフェース」は、ユーザーに詳細を隠す目標です。ユーザーはどこかにコマンドを書き、その出力をどこかで読みます。
私は次のように構成するつもりです。
mkfifo /tmp/f
mkfifo /tmp/g
while true; do
cat /tmp/f | ssh -J srv1 srv2 /bin/sh >/tmp/g
echo ping
done
ユーザーはコマンドを送信し、/tmp/f
コマンドの出力を読み取ります/tmp/g
。
効果がありますが、本当に良い解決策ですか?これは伝統的にどのように解決されていますか?
全体的に、私はそれがかなり良いと思います:
汚れたタスク(タイムアウト、ロギング、ポリシーの再起動、設定)が何らかの形で処理されるとします。
インターフェイスがより複雑になる必要はありません。 stdout / stderrの違い、エラーメッセージ、生成/破棄要求などを含めたくありません。