誰も私にこれがなぜ機能しないのか教えてください。expect inside bashスクリプトの使用方法
#!/bin/bash
cd /home
touch somefile
/usr/bin/expect<<FILETRANSFER
spawn scp -r -P remoteServerPort somefile remoteServerIP:/home
expect "assword:"
send "MyPassWord\r"
interact
FILETRANSFER
echo "It's done"
ファイルはリモートサーバーに転送されず、エラーは発生しません。多くの方法で解決できませんでした。
より良い方法は、「ssh」(または「scp」)でパスワードを入力または送信しないことです。いくつかのsshチュートリアルを読んで、公開鍵を使用してください。 –
'/ usr/bin/expect << FILETRANSFER'、ここでは' << 'の前に空白がありません – Jahid
あなたの返信に感謝します。 @ Basile Starynkevitch何らかの理由で公開鍵を使用できません。 @ Jahidはスペースを追加しましたが、まだ動作しません。 – derp