我首先下载一个文件到/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 部分并运行 extract 命令时它确实被提取了。
我如何连续执行这两个命令?
答案1
使用 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"
或者wget
使用参数阻止写入终端--quiet
:
#!/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
。