GNU/Linux >> Linux の 問題 >  >> Linux

サブシェルの出力をプロセスにリダイレクトしますか?

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の結果から各単語でリダイレクトを作成します リダイレクトターゲットとして。


Linux
  1. Psの出力にはどういう意味がありますか?

  2. コマンド出力を bash の変数にリダイレクトすると失敗する

  3. Linux で関数ブロックからファイルに出力をリダイレクトする

  1. サブシェル/子プロセスのエイリアス

  2. 実行中のすべてのプロセス ID のみを取得するには?

  3. プロセスがps出力で異なる名前を持っているように見えるのはなぜですか?

  1. Ssh – Sshセッションが切断された後もプロセスを実行し続けますか?

  2. Ssh – Ssh / scp / sftpユーザーをディレクトリに制限しますか?

  3. ps出力をプロセス開始時間でソートする方法は?