だから私はデフォルトでサーバーにsshを接続し、そこからローカル期待スクリプトを実行しようとしています。 bashコマンドに似たものを試してみました。
ssh -A user@remote "bash -s" < ./script "arg1" "arg2"
私の予想されるスクリプト形式は次のとおりです。
ssh -A user@remote "expect" < ./script "arg1" "arg2"
ただし、引き続き次のエラーが発生します。
couldn't read file "arg1": No such file or directory.
私の考えでは、最初のパラメータをファイルに読み込もうとしているようです。リモートシステムでローカルスクリプトを実行し、パラメータを含める方法は?しかし、これらの解決策のどれも私にとって効果的ではありませんでした。何が問題なのでしょうか?
ありがとう
ベストアンサー1
expect
-
誰かがスロットを使用しても、まるでファイルであるかのように最初の引数から読み取ろうと非常に懸命に努力しているようです。 1つの回避策は、読みやすい/dev/stdin
ファイル名を提供するようですexpect
。
$ printf 'puts [lindex $argv 1]' | ssh host 'expect /dev/stdin one two'
two
$