我正在尝试通过使用zenity/yad为wget下载过程提供一种GUI界面。我想到了以下这种方法:
wget http://example.com/ 2>&1 | \
sed -u 's/^[a-zA-Z\-].*//; s/.* \{1,2\}\([0-9]\{1,3\}\)%.*/\1\n#Downloading... \1%/; s/^20[0-9][0-9].*/#Done./' | \
zenity --progress --percentage=0 --title=Download dialog --text=Starting... --auto-close --auto-kill
现在,假设wget遇到错误。我需要告知用户下载失败了。由于$?变量似乎无论成功或失败都具有0的值(可能是因为$?存储了zenity的退出状态),因此我无法确定下载是成功还是失败。
如何解决上述问题?