如何在 Expect 脚本中使用 wget?

如何在 Expect 脚本中使用 wget?

我首先下载一个文件到/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

相关内容