web-dev-qa-db-ja.com

テキストファイルからのssh入力

これら二つの質問は私を狂わせており、私はsshの良い専門知識を持っていません。 (しかし、それはリダイレクトのみに関係していると思います)

質問は、

複数行の入力をabc.txtというファイルからsshコマンドに渡したいとします。これを行うために必要なコマンドを完了します

$ssh _ _ abc.txt(2文字のみ)(詳細な説明が役に立ちます)

そして

Remote.txtと呼ばれるファイルから複数の入力行をsshに渡したいが、後続の入力の先頭のタブはすべて削除する必要があります。これを行うには、コマンドを完了してください

$ssh _ _ _ Remote.txt

6
Web-E

localファイルからsshに入力を渡すには、次のような入力リダイレクトを使用する必要があります。

ssh user@server < abc.txt

_は本当に1文字である必要がありますか?その場合、x~/.ssh/configで一部のuser @ Hostのエイリアスとして構成されている場合に可能です。

ssh x < abc.txt

Q2よくわからないので答えられません。 Remote.txtがリモートにあると思います。

2番目の質問に従って、Remote.txtはリモート側のファイルであると想定します。この場合、コマンドは次の形式になります。

ssh user@server "bash < Remote.txt"

...しかし、これは_ _ _の問題の説明に適合しません。もちろん、後続のタブを削除するには、さらに次のようにする必要があります。

ssh user@server "bash < <(sed -e 's/^[    ]*//' Remote.txt)"

つまり、これは2番目の質問に答えません。これがsshと併用した場合のリダイレクトの理解に役立つことを願っています。

[〜#〜]編集[〜#〜]

Qをもう一度読んだ後、「sshに複数行の入力を渡す」と書かれているため、リダイレクトを再度sshに使用する必要があることを示唆しています。この場合、ファイルはローカルである必要があります。

ssh user@server < <(sed 's/^[    ]*//' Remote.txt)

しかし、繰り返しますが、これはssh _ _ _ Remote.txtの形式の回答とみなされません。

3
janos