在 Bash 编程中,我试图设置一个脚本来生成特定链接。随后,我试图让该脚本打开所述链接,如果它不是 404。curl
和我的系统上存在其他程序,但显然我无法获得自动打开的链接明确的命令,例如 firefox [generatedLink]
。我可以使用什么来执行以下操作:
(1) 分析curl
的输出,判断生成的链接是否有效(即不返回404),
(2) 提示用户是否要在浏览器中打开该链接,如果他们说是,则将其系统上的默认浏览器打开到生成的链接?
如果您认为我应该使用其他语言(C++、Python 等)来执行此操作,请告诉我。
注意我只希望它能在 Linux 上运行。它不需要跨平台。
最佳答案
if HEAD "${URL}" >/dev/null; then
printf '%s' 'URL ok, open browser? [y/n] '
read -n 1
echo
if [ "${REPLY}" = y ]; then
xdg-open "${URL}"
fi
else
echo 'URL not ok.'
fi
现在是一个简短的解释:
HEAD
是 libwww-perl 附带的快速脚本。我用它是因为它很简单。它只做一个HEAD
请求,所以它是轻量级的,如果 URL 给出一个,它会退出并出错;- 提问部分在这里并不重要。这只是众多解决方案中的一种;
xdg-open
是一个很好的脚本,它可以检测您正在使用的桌面环境并使用那里的首选应用程序打开 URL。换句话说,它会尽力确保使用用户选择的浏览器。
关于linux - 创建脚本生成链接然后分析有效性,然后在系统默认浏览器中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11726441/