如何在Bash脚本中解析HTML获取AnyDesk Debian包下载链接?
自动安装AnyDesk的Bash脚本修复方案
原脚本尝试直接请求AnyDesk的感谢页面获取安装包,但该页面返回的是HTML内容而非Debian包,导致安装失败。以下是修复后的脚本及解析思路:
修复后的脚本
echo -e "[ - ] Installing AnyDesk..." # 提取感谢页面中的Debian包真实下载链接 DOWNLOAD_URL=$(wget -qO- 'https://anydesk.com/en/downloads/thank-you?dv=deb_64' | grep -o '<a href="https://download.anydesk.com/.*_amd64\.deb"' | cut -d '"' -f 2) # 下载安装包 wget "$DOWNLOAD_URL" -O anydesk.deb # 自动确认安装 sudo apt install ./anydesk.deb -y echo -e "[ ✔ ] AnyDesk ➜ INSTALLED\n"
关键步骤说明
wget -qO- <URL>:静默模式下获取页面HTML内容并输出到标准输出,不保存为文件grep -o '<a href="https://download.anydesk.com/.*_amd64\.deb"':精准匹配页面中指向64位Debian包的<a>标签片段cut -d '"' -f 2:从匹配到的片段中提取双引号包裹的真实下载链接- 添加
-y参数到apt install:自动确认安装过程中的交互提示,完全适配自动化场景
备选简化方案(依赖链接格式稳定)
如果确认AnyDesk的deb包链接格式长期稳定,也可以用更简洁的匹配方式:
DOWNLOAD_URL=$(wget -qO- 'https://anydesk.com/en/downloads/thank-you?dv=deb_64' | grep -o 'https://download.anydesk.com/.*_amd64\.deb')
内容的提问来源于stack exchange,提问作者Muhammad Habib
相关产品推荐
相关产品推荐

