我创建了以下脚本(期望在ksh下),
将文件data.txt从Linux机器复制到Windows机器
scp进程将自动生成,因此密码问题将由期待
回答问题是期望不能忽略来自以下行的“反斜杠”
spawn scp /tmp/data.txt ADMIN@192.9.200.17:'c:\'
所以从输出我看到期望发送没有“\”反斜杠的行
我的语法/脚本需要更改什么,所以期望忽略反斜杠?
我的剧本
#!/bin/ksh
PASSORD=secret123
SCP=`cat << EOF
set timeout -1
spawn scp /var/tmp/data.txt ADMIN@192.9.200.17:'c:\'
expect {
")?" { send "yes\r" ; exp_continue }
word: {send $PASSORD\r}
}
expect eof
EOF`
expect -c "$SCP"
结果(输出)
spawn scp /var/tmp/data.txt ADMIN@192.9.200.17:'c:'
gcs@198.202.183.97's password:
scp: c:: Error opening file: The requested operation failed.
Killed by signal 1.
答案 0 :(得分:0)
您需要转义\
。
尝试
spawn scp /tmp/data.txt ADMIN@192.9.200.17:'c:\\'
答案 1 :(得分:0)
请使用spawn scp /tmp/data.txt ADMIN@192.9.200.17:'c:/'
,因为它应该评估相同的路径。