Сценарий оболочки для открытия URL
Как мне написать простой сценарий оболочки (скажем, script.sh), чтобы я мог передать URL в качестве аргумента при выполнении?
Я хочу, чтобы браузер начинался со страницы, открытой по этому URL. Я хочу написать команду в скрипте, чтобы открыть браузер и открыть URL-адрес, указанный в аргументе.
Ответы
Ответ 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"