我正在使用 expect 来生成一个 sftp 会话,如下所示:
(为了清楚起见,剪掉了很多代码,是的,我理解风险......)
#!/opt/csw/bin/expect -f
<snip>
spawn sftp $user@$host
set rez [connect $passw]
if { $rez == 0 } {
send "cd $location\r"
set timeout -1
send "ls -l\r"
send "quit\r"
expect eof
exit 0
}
puts "\nError connecting to server: $host, user: $user and password: $passw!\n"
exit 1
这工作得很好。
我的具体问题是如何在文件中捕获发送“ls -l\r”命令的结果。