首页 > 解决方案 > 将 bash 变量与期望一起使用

问题描述

我的脚本看起来像这样,但没有得到密码。

#!/usr/bin/bash
export -p curdir=`basename ${PWD%/*/*/}`
/usr/bin/expect <<EOF
spawn scp -v -i ... <local file> <remote file containing $curdir>
expect -re "Enter passphrase.+:"
send "<password>\n"
exit;
EOF
exit

出了点问题,因为密码显然没有发送。预期线路、发送线路或 ??? 有问题 执行此脚本时,它要求输入密码。谢谢你的帮助。

标签: bashexpectspawn

解决方案


我这样做太难了。ftp 做了我需要做的一切。互联网上有很多地方解释了如何使用它。可以将 bash 变量定义为 bash 脚本的一部分,而密码只是您定义的一部分。scp 非常适合一个副本,但 ftp 作为脚本的一部分真的很容易。


推荐阅读