【发布时间】:2011-11-21 05:23:44
【问题描述】:
function expect_password {
expect -c "\
set timeout 90
set env(TERM)
spawn $1
expect \"password:\"
send \"$password\r\"
expect eof
"
}
expect_password "scp /home/kit.ho/folder/file1 root@$IP:/usr/bin"
以上expect_password 完美运行!
但是,我想传输该目录中的多个文件,所以我尝试了:
expect_password "scp /home/kit.ho/folder/* root@$IP:/usr/bin"
但是出现错误:
/home/kit.ho/folder/*: No such file or directory
Killed by signal 1.
expect 似乎无法识别*。我怎样才能以这种方式传输文件?
使用rsync 有一个可能的答案,但我不能使用它。
【问题讨论】:
-
更多沿着 shell 试图扩展通配符。尝试转义
*,因此改为\*(甚至\\*,取决于发生了多少级别的解析)。 -
我试过
\*,\\*,\\\*都不起作用。 :(
标签: bash file-upload expect scp