有人可以告訴我爲什麼這不起作用嗎?如何使用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