如何解决在expect脚本中获取多行输出
我在文件 test.sh
中有以下代码,它输出目录中的文件列表:
log_user 0
spawn sftp -oPort=22 username@hostname
expect "password:"
send "password123\n"
set prompt "sftp>";
set command "ls -l upload/External/*";
expect "$prompt" ;# wait for prompt
send "$command\r" ;# send command
expect "$command\r" ;# discard command echo
expect -re "(.*)\r" ;# match and save the result
puts "$expect_out(0,string)"
send -- "exit\r"
expect eof
但是在执行 /usr/bin/expect test.sh
后,我只得到一行结果:
drwxrws--- 0 300096661 300026669 4096 Apr 13 19:48 upload/External/file1.csv
我尝试将 puts 命令更改为 puts "$expect_out(buffer)"
但它仍然相同。我期待该目录中存在所有 5 个文件
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。