Shell script to open a URL

For Windows,

You can just write start filename_or_URL

start https://www.google.com

It will open the URL in a default browser. If you want to specify the browser you can write:

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

Note: The browser name above can be obtained from the exe file found in program files (sample: C:\Program Files\Internet Explorer\iexplore.exe) if you wish to open multiple URLs.

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

It was tested with .sh (shellscript file) and .bat files.


In MacOS, just open works. So, open "$1" will open the passed URL in Chrome, if Chrome is the default browser.


You don't need to write a script for that. There're some tools that you can use depending on your OS:

Linux

xdg-open is available in most Linux distributions. It opens a file or URL in the user's preferred browser (configurable with xdg-settings).

xdg-open https://stackoverflow.com

macOS

open opens files and URLs in the default or specified application.

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

Windows

You can use the start command at the command prompt to open an URL in the default (or specified) browser.

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

Cross-platform

The builtin webbrowser Python module works on many platforms.

python3 -m webbrowser https://stackoverflow.com


Method 1

Suppose your browser is Firefox and your script urlopener is

#!/bin/bash
firefox "$1"

Run it like

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

Sidenote

Replace firefox with your browser's executable file name.


Method 2

As [ @sato-katsura ] mentioned in the comment, in *nixes you can use an application called xdg-open. For example,

xdg-open https://google.com

The manual for xdg-open says

xdg-open - opens a file or URL in the user's preferred application xdg-open opens a file or URL in the user's preferred application. If a URL is provided the URL will be opened in the user's preferred web browser.
If a file is provided the file will be opened in the preferred application for files of that type. xdg-open supports file, ftp, http and https URLs.

As [ this ] answer points out you could change your preferred browser using say:

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

or

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

Tags:

Shell

Bash