用于打开 URL 的 Shell 脚本

如何编写一个简单的 shell 脚本(例如 script.sh) ,以便在执行时将 URL 作为参数传递?

我希望浏览器从该 URL 上打开的页面开始。我想在脚本中编写命令来打开浏览器并打开参数中给出的 URL。

152589 次浏览

方法1

假设您的浏览器是 Firefox,脚本 urlopener

#!/bin/bash
firefox "$1"

就像这样

./urlopener "https://google.com"

旁注

用浏览器的可执行文件名替换 firefox


方法2

正如注释中提到的 [@sato-katsura ],在 * nixes 中,您可以使用名为 xdg-open的应用程序,

xdg-open https://google.com

xdg-open手册上说

Xdg-open-在用户首选的应用程序中打开一个文件或 URL Xdg-open 在用户首选的应用程序中打开一个文件或 URL 提供的 URL 将在用户的首选网站打开 浏览器。
如果提供了文件,则该文件将在 这种类型的文件的首选应用程序. xdg-open 支持文件, Ftp,http 和 https URL。

正如 [这个]的回答所指出的,你可以改变你的首选浏览器,比如说:

xdg-settings set default-web-browser firefox.desktop

或者

xdg-settings set default-web-browser chromium-browser.desktop

你不需要为此编写一个脚本,有一些工具你可以根据你的操作系统使用:

Linux

xdg-open在大多数 Linux 发行版中都可用。它在用户的首选浏览器中打开一个文件或 URL (可用 xdg-settings配置)。

xdg-open https://stackoverflow.com

MacOS

open在默认或指定的应用程序中打开文件和 URL。

open https://stackoverflow.com
open -a Firefox https://stackoverflow.com

窗户

可以在命令提示符处使用 start命令在默认(或指定)浏览器中打开 URL。

start https://stackoverflow.com
start firefox https://stackoverflow.com

跨平台

内置的 webbrowser Python 模块可以在许多平台上工作。

python3 -m webbrowser https://stackoverflow.com

在 MacOS 中,只有 open可以工作,所以,如果 Chrome 是默认浏览器,open "$1"将在 Chrome 中打开传递的 URL。

如果你想要一个跨操作系统的解决方案并且喜欢使用 Python (3) :

试试这个:

import webbrowser


webbrowser.open('https://yoururl.com')

或在终端/cmd:

python -m webbrowser -t "https://yoururl.com"

对于 窗户,

你可以写 start filename_or_URL

start https://www.google.com

它将在默认浏览器中打开 URL。如果要指定浏览器,可以写:

start chrome https://www.google.com
start firefox https://www.google.com
start iexplore https://www.google.com

注意: 如果您想打开多个 URL,可以从程序文件(示例: C:\Program Files\Internet Explorer\iexplore.exe)中的 exe文件获得上面的浏览器名称。

start chrome "www.google.com" "www.bing.com"

它使用. sh (shell 脚本文件)和. bat 文件进行了测试。

start "" "browser_location" "address"

例如:

start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "https://google.com"

2021年1月: 巨大的别名脚本!

下面是一个非常棒的 剧本,它可以打开支持别名和多种浏览器的 URL:

search|s|google|g
http://www.google.com/search?q={search\+}


search2|s2|yahoo
https://search.yahoo.com/search?p={search\+}


images|img
https://www.google.com/search?site=&tbm=isch&q={search\+}


videos|v|youtube|yt
https://www.youtube.com/results?search_query={search\+}

要使用 Google 别名的 URL,只需运行:

openurl search how to make fried rice

这将解析“ google”URL 并打开

https://www.google.com/search?q=how+to+make+fried+rice

查看 项目中的所有配置选项!

请注意: 这个存储库没有非常少的星号,只是因为它是父存储库 Gnu-linux-shell-script的子存储库。

对于 视窗下的 Cygwin,你不能使用 start,但是你可以使用 cygstart:

cygstart https://stackoverflow.com