在 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。