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

les*_*ese 6 bash logs shell-script wget output

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

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

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

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

两者都可以吗?提示输出并写入日志文件?

Jen*_*y D 13

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

wget --no-check-certificate --auth-no-challenge --http-user=$jen_uname --http-password=$jen_psswd 2>&1 | tee -a wget_log
Run Code Online (Sandbox Code Playgroud)

2>&1意味着 STDERR 与 STDOUT 位于同一位置,并且它们都通过管道传输到tee. 该-a方法追加。tee然后将输出同时发送到 wget_log 和 STDOUT。