これら二つの質問は私を狂わせており、私はsshの良い専門知識を持っていません。 (しかし、それはリダイレクトのみに関係していると思います)
質問は、
複数行の入力を
abc.txt
というファイルからssh
コマンドに渡したいとします。これを行うために必要なコマンドを完了します
$ssh _ _ abc.txt
(2文字のみ)(詳細な説明が役に立ちます)
そして
Remote.txtと呼ばれるファイルから複数の入力行を
ssh
に渡したいが、後続の入力の先頭のタブはすべて削除する必要があります。これを行うには、コマンドを完了してください
$ssh _ _ _ Remote.txt
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
の形式の回答とみなされません。