2017-10-03 14 views
1

、リモートサーバ上のローカルのbashスクリプトを実行することが可能である:(unix.stackexchange.comから)リモートサーバーでローカルフィッシュスクリプトを実行するにはどうすればよいですか? sshとはbashで

$ ssh [email protected] "bash -s" -- < ./example.bash "--arg1" "arg2" 

魚がリモートサーバーにインストールされていると仮定すると、同等のコマンドものですリモートサーバー上で地元の魚のスクリプトを実行するには?

答えて

2

同等のコマンドは次のようになります

$ ssh [email protected] fish -- < ./example.fish --arg1 arg2 

(SSHすることなく、システムを仮定すると、の/ dev/STDIN装置を備えている)ローカルこれを実証するために:

$ echo 'set -S argv' | fish -- /dev/stdin --abc def 
$argv: not set in local scope 
$argv: set in global scope, unexported, with 2 elements 
$argv[1]: length=5 value=|--abc| 
$argv[2]: length=3 value=|def| 
$argv: not set in universal scope 

あるいはを使用します/ dev/fd/0

+0

あなたの例と同じように: 'ssh user @ host fish/dev/stdin - --arg1 arg2 <.​​/ example.fish'。私の例は、ソリューションがどのように動作し、 '$ argv'を正しく埋め込み、stdinから読み取ったスクリプトを実行するかを示す単純化に過ぎませんでした。 sshの複雑さおよび何らかの問題がなければ(例えば、認証失敗)、その使用が導入される。 –

関連する問題