我首先下载一个文件到/root/TRY1/ :
#!/usr/bin/expect cd /root/TRY1/ exec wget --http-user $user --http-password $password $url
然后我想提取文件:
cd /root/TRY1/ exec bash -c "tar -xzvf /root/TRY1/BigDataProtector*.tgz"
但是,这只是在该位置下载文件,然后停止。 该文件不被提取。
但是,当我评论wget部分并运行提取命令时,它会被提取出来。
我如何连续执行这两个命令?
使用Expect的本地spawn命令:
#!/usr/bin/expect cd /root/TRY1/ spawn wget --http-user $user --http-password $password $url spawn bash -c "tar -xzvf /root/TRY1/BigDataProtector*.tgz"
或者用--quiet参数阻止wget写入terminal:
#!/usr/bin/expect cd /root/TRY1/ exec wget --quiet --http-user $user --http-password $password $url exec bash -c "tar -xzvf /root/TRY1/BigDataProtector*.tgz"
wget的进度条会导致Expect在被exec调用时失败。