現在、私は、リモートマシンにsshingでperlのシステムを使用して実行スクリプトを実行しています:はperlのシステムからSSH経由でbashスクリプトに環境変数を渡す
system("ssh -t remote $dir/bashscript> $dir/stdout.stdout 2> $dir/stderr.stderr &");
は、私が上bashscriptに環境変数を渡したいです私のリモートマシン(特定のディレクトリ)。それを行う最善の方法は何ですか?そして、議論を受け入れるために私のbashscriptに何を追加すればよいですか?値が信頼できないソースから来る場合、これは危険なことができることを
system("ssh -t remote FOO='dir/dir/filename.stderr' $dir/bashscript> $dir/stdout.stdout 2> $dir/stderr.stderr &");
注:
になることを、なぜそれがだろう確信している場合を消毒について危険な? – acbh
リモートサーバが許可している場合は、 'ssh -o SendEnv = FOO ... 'を使用することが望ましいでしょう。 – chepner
また$ FOOを適切に受け入れるために私のbashスクリプトをリファクタリングする最良の方法は何ですか? – acbh