wget 文件,记录输出并在提示时显示输出

wget 文件,记录输出并在提示时显示输出

在 bash 脚本中,我必须从网络下载一个文件。我使用wget命令来执行此操作。我想记录wget命令的输出,并“同时”在终端上提示输出。

我搜索了但man wget没有找到实现这一目标的方法。

似乎如果您使用-o-a参数打开日志,那么提示输出会自动“重定向”到日志文件,并且在执行脚本时终端上不会显示任何内容,直到完成下载。

wget -a wget_log --no-check-certificate --auth-no-challenge --http-user=$jen_uname --http-password=$jen_psswd link_to_the_file

是否可以两者兼得?提示输出并写入日志文件?

答案1

您可以使用可爱的tee命令来执行此操作:

wget --no-check-certificate --auth-no-challenge --http-user=$jen_uname --http-password=$jen_psswd 2>&1 | tee -a wget_log

2>&1意味着 STDERR 与 STDOUT 到达相同的位置,并且它们都通过管道传输到tee.手段-a追加。tee然后将输出发送到 wget_log 和 STDOUT。

相关内容