最近三天以来,我一直在苦苦思索如何编写一个bash脚本,以自动从SFTP服务器下载文件。我已经构建了程序的结构,并在代码片段中进行了测试,但是我卡在这里。
我是这样登录到SFTP服务器的:
/usr/bin/expect <<EOD
spawn sftp $ftp_server
expect "password:"
send "$password\r"
expect "sftp>"
send "ls\r"
expect "sftp>\r"
send "exit\r"
EOD
我希望循环遍历ls
命令的输出,以决定下载哪个文件。我尝试将输出重定向到文本文件中,然后从那里获取文件名,但它也会存储"sftp>"提示和其他无关信息。如何存储干净的expect
ls
输出并对其进行循环?