Подтвердить что ты не робот

Сценарий оболочки для открытия URL

Как мне написать простой сценарий оболочки (скажем, script.sh), чтобы я мог передать URL в качестве аргумента при выполнении?

Я хочу, чтобы браузер начинался со страницы, открытой по этому URL. Я хочу написать команду в скрипте, чтобы открыть браузер и открыть URL-адрес, указанный в аргументе.

4b9b3361

Ответ 1

Способ 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 поддерживает URL-адреса файлов, ftp, http и https.

Как указывает [этот] ответ, вы можете изменить предпочитаемый браузер, используя:

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

или же

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

Ответ 2

Вам не нужно писать сценарий для этого. Есть несколько инструментов, которые вы можете использовать в зависимости от вашей ОС:

Linux

xdg-open доступен в большинстве дистрибутивов Linux. Он открывает файл или URL в xdg-settings пользователем браузере (настраивается с помощью 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-модуль работает на многих платформах.

python -m webbrowser https://stackoverflow.com

Ответ 3

Для 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), если вы хотите открыть несколько URL-адресов.

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

Он был протестирован с файлами .sh(shellscript) и .bat.

Ответ 4

В MacOS работает только open. Таким образом, open "$1" откроет переданный URL в Chrome, если Chrome - браузер по умолчанию.

Ответ 5

Если вы хотите кросс-операционное решение и вам удобно использовать Python (3):

Попробуй это:

import webbrowser

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

Или в терминале /cmd:

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