用于打开 URL 的 Shell 脚本

问题描述 投票:0回答:8

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

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

bash shell
8个回答
160
投票

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

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

Windows

您可以在命令提示符处使用

start
命令在默认(或指定)浏览器中打开 URL。

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

跨平台

内置

webbrowser
Python 模块适用于许多平台。

python3 -m webbrowser https://stackoverflow.com


31
投票

方法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 将在用户的首选 Web 中打开 URL 浏览器。
如果提供了文件,该文件将在 该类型文件的首选应用程序。 xdg-open 支持文件, ftp、http 和 https URL。

正如[此]答案指出,您可以使用以下命令更改您的首选浏览器:

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

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

12
投票

对于 Windows

你可以直接写

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

注意: 如果您想打开多个网址,可以从程序文件中的

exe
文件中获取上面的浏览器名称(示例:
C:\Program Files\Internet Explorer\iexplore.exe
)。

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

使用.sh(shellscript文件)和.bat文件进行测试。


8
投票

在 MacOS 中,只需

open
即可。因此,如果 Chrome 是默认浏览器,
open "$1"
将在 Chrome 中打开传递的 URL。


6
投票

如果您想要跨操作系统解决方案并且熟悉使用 Python (3):

试试这个:

import webbrowser

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

或者在终端/cmd 中:

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

2
投票

对于Windows下的Cygwin你不能使用启动。但你可以使用 cygstart:

cygstart https://stackoverflow.com

1
投票

Openurl 实用程序

一个脚本,用于打开别名文件中存储的别名的 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 别名的示例:

openurl google newest smartphones 2024

-4
投票
start "" "browser_location" "address"

例如:

start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "https://google.com"
© www.soinside.com 2019 - 2024. All rights reserved.