如何解决SFTP BSD Zsh Batchfile 和 Expect 语法
我在 MacOS 中有一个 zsh 脚本——试图自动执行 -b(批处理文件选项),但“~”似乎没有在期望语法中扩展。即使它在那里,Expect 也无法在该目录中找到批处理文件位置。我需要完整路径还是像 $HOME 这样的全局变量在预期内不起作用?
deletedfiles=$(/usr/bin/expect <<SFTP
set timeout -1
spawn /usr/bin/sftp -b ~/Desktop/pgmfilesremoved.txt Port=${port} ${sftpuser}@${host}
expect "Password authentication"
expect "Password:"
send "${password}\r"
expect "sftp>"
send "exit\r"
SFTP
)
解决方法
因为heredoc 没有被引用,shell 在启动expect 之前会扩展变量。使用 $HOME
:波浪号在 Tcl/expect 中没有特殊意义。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。