サーバーにシンプルなアプリがあり、コンピューターから自動的に実行したい。このスクリプトを介してサーバーに正常に接続できます。
spawn ssh -t login@ip
expect "password"
send "password\r"
interact
しかし、アプリでディレクトリをフォルダに変更することはできません。私はそうしようとしました:
spawn ssh -t login@ip bash -c "cd /var/app"
など:
spawn ssh -t ssh login@ip 'cd /var/app && exec bash -l'
など:
spawn ssh -t login@ip
expect "password"
send "password\r"
cd var/app
exec bash
interact
およびその他のバリアント...
しかし、スクリプトを介しては動作しません。スクリプトがローカルマシン(サーバーではなく)のディレクトリを変更するためです。この問題を解決できますか?清聴ありがとうございました。
ssh
を介して複数のコマンドを実行する必要がある場合は、次のようなサブシェルを使用します。
ssh user@Host bash -c 'pwd ; dir && ls'