我需要使用bash在shell脚本中进行sftp登录。我在这里看到了一些带有expect
的示例。问题是我需要插入一个从用户输入中读取的密码,即我需要类似
echo "Insert password: "
read my_passwd
,然后我将发送my_passwd
。所以我想要一个类似
echo "Insert password: "
read my_passwd
spawn sftp usr@example.com
expect "password: "
send "$my_passwd\n"
expect "sftp>"
send "get mbr*"
expect "sftp>"
send "bye\n"
但是echo
和read
无法运行。即使使用在我仍然收到错误(Run local command from expect script)之前添加exec
(exec read my_passwd
)的解决方案