SSHでスクリプトを実行し、そのスクリプトにいくつかのパラメータを渡そうとしています。うまくいかなかった次のことを試しました–値が渡されません:
$ LC_FOO=x ssh -o SendEnv=LC_FOO $HOST < myLongScript.sh
ターゲットホストは非常に厳密で定期的に再作成されることがあるため、SSH設定を変更しても無駄です。
だから私はトリックに頼って、スクリプト自体の中で値を渡そうとしています。つまり、変数をスクリプトに追加したいのです。
他のアプローチも試しました:
# doesn't work - 'ambiguous redirect'
$ ssh ... < $(...)
# doesn't work - 'LC_FOO=x: command not found'
$ $(echo "FOO=x"; cat myLongScript.sh) | ssh ...
ssh
の行の先頭に追加するにはどうすればよいですか の入力?
承認された回答:
ssh ... < <(...)
などのプロセス置換が必要です 。 ssh ... < $(my_command)
コマンド置換は、my_command
の結果から各単語でリダイレクトを作成します リダイレクトターゲットとして。