cat someFile | ssh someHost
someFileがあるときにどのように機能させることができますか?いいえバッシュスクリプト?リモートで実行したいです。真珠しかしcat | sshコマンドを使用しようとすると、bashスクリプトで構文エラーが発生します。
ベストアンサー1
SSH接続を介してPerlスクリプトをプッシュするには、リモート側でPerlソルバーを実行する必要があります。標準入力からスクリプトを読みます。
ssh remotehost perl < somescript.pl
Perlの場合、-T
入力からコマンドラインスイッチ(hashbang行を除く)まで読み取る必要があります。
Perlインタプリタにコマンドライン引数を指定したい場合は、その引数をコマンドラインの末尾に追加できますperl
。欲しいならスクリプト、stdinからスクリプトを読み込むようにインタプリタに明示的に指示する必要があります(そうでない場合は、検索するファイル名として最初の引数を使用します)。
-l
通訳者とfoo
スクリプトは次のとおりですbar
。
echo 'print "> $_" foreach @ARGV' | ssh remotehost perl -l - foo bar
これはssh somehost < script.sh
スクリプトと互換性のあるリモートログインシェルにのみ依存することに注意してください。 (つまり、リモートシェルが別のシェルの場合、Bashスクリプトは機能しません。)