SHELL脚本打开一个URL

Ris*_*ran 22 bash shell

任何人都可以帮我写一个简单的shell脚本(比如script.sh),这样我就可以在执行时传递一个URL作为参数.我希望浏览器从该URL上打开的页面开始.

我想在脚本中编写命令来打开浏览器并打开参数中给出的URL.

可能听起来很简单.但过去2个小时我一直在尝试这个.

Eug*_*ash 23

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

Linux的

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

xdg-open https://stackoverflow.com
Run Code Online (Sandbox Code Playgroud)

苹果系统

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

open https://stackoverflow.com
open -a Firefox https://stackoverflow.com
Run Code Online (Sandbox Code Playgroud)

跨平台

Python的start模块可以在许多平台上运行.

webbrowser


sjs*_*sam 12

方法1

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

#!/bin/bash
firefox "$1"
Run Code Online (Sandbox Code Playgroud)

像那样运行它

./urlopener "https://google.com"
Run Code Online (Sandbox Code Playgroud)

边注

替换xdg-open为您的浏览器


方法2

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

xdg-open https://google.com
Run Code Online (Sandbox Code Playgroud)

手册urlopener

xdg-open - 在用户首选应用程序中打开文件或URL xdg-open在用户首选应用程序中打开文件或URL.如果提供了URL,则将在用户首选的Web浏览器中打开URL.
如果提供了文件,则将在首选应用程序中为该类型的文件打开该文件.xdg-open支持文件,ftp,http和https URL.

正如[这个]答案所指出的那样,您可以使用以下方式更改首选浏览器:

xdg-settings set default-web-browser firefox.desktop
Run Code Online (Sandbox Code Playgroud)

要么

xdg-settings set default-web-browser chromium-browser.desktop
Run Code Online (Sandbox Code Playgroud)

  • 在UNIX上:`xdg-open“ $ @”` (2认同)

San*_*ile 9

对于Windows,

你可以写 start filename_or_URL

start https://www.google.com
Run Code Online (Sandbox Code Playgroud)

它将在默认浏览器中打开URL.如果要指定可以编写的浏览器

start chrome https://www.google.com
start firefox https://www.google.com
start iexplore https://www.google.com
Run Code Online (Sandbox Code Playgroud)

如果你想打开多个网址.

start chrome "www.google.com" "www.bing.com"
Run Code Online (Sandbox Code Playgroud)

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


trv*_*7ad 6

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

尝试这个:

import webbrowser

webbrowser.open('https://yoururl.com')
Run Code Online (Sandbox Code Playgroud)

或者在终端/cmd 中:

python -m webbrowser -t "https://yoururl.com"
Run Code Online (Sandbox Code Playgroud)


Roc*_*nat 5

在MacOS中,只是open工作.因此,open "$1"如果Chrome是默认浏览器,则会在Chrome中打开已通过的网址.