반응형
셸 스크립트에서 웹 브라우저를 시작하는 깨끗한 방법?
bash 스크립트에서는 사용자 웹 브라우저를 실행해야 합니다.이를 위한 다양한 방법이 있습니다.
$BROWSER
xdg-open
gnome-open
GNOME에서www-browser
x-www-browser
- ...
대부분의 플랫폼에서 사용할 수 있는 표준적인 방법이 있습니까? 아니면 다음과 같은 방법을 사용해야 합니까?
#/usr/bin/env bash
if [ -n $BROWSER ]; then
$BROWSER 'http://wwww.google.com'
elif which xdg-open > /dev/null; then
xdg-open 'http://wwww.google.com'
elif which gnome-open > /dev/null; then
gnome-open 'http://wwww.google.com'
# elif bla bla bla...
else
echo "Could not detect the web browser to use."
fi
python -mwebbrowser http://example.com
여러 플랫폼에서 작동합니다.
xdg-open
는 표준화되었으며 대부분의 배포에서 사용할 수 있어야 합니다.
그렇지 않은 경우:
eval
사악해요, 사용하지 마세요.- 변수를 따옴표로 묶습니다.
- 올바른 테스트 연산자를 올바른 방법으로 사용합니다.
다음은 예입니다.
#!/bin/bash
if which xdg-open > /dev/null
then
xdg-open URL
elif which gnome-open > /dev/null
then
gnome-open URL
fi
이 버전이 조금 더 나을 수도 있습니다(아직 테스트되지 않음).
#!/bin/bash
URL=$1
[[ -x $BROWSER ]] && exec "$BROWSER" "$URL"
path=$(which xdg-open || which gnome-open) && exec "$path" "$URL"
echo "Can't find browser"
OSX:
$ open -a /Applications/Safari.app http://www.google.com
또는
$ open -a /Applications/Firefox.app http://www.google.com
아니면 그냥...
$ open some_url
다음을 사용할 수 있습니다.
x-www-browser
사용자의 X 브라우저를 실행하지 않고 시스템의 기본 X 브라우저를 실행합니다.
참조: 이 스레드.
다른 답변을 받아 모든 주요 OS에 적합한 버전을 만들고 URL이 런타임 변수로 전달되는지 확인합니다.
#!/bin/bash
if [ -z $1 ]; then
echo "Must run command with the url you want to visit."
exit 1
else
URL=$1
fi
[[ -x $BROWSER ]] && exec "$BROWSER" "$URL"
path=$(which xdg-open || which gnome-open) && exec "$path" "$URL"
if open -Ra "safari" ; then
echo "VERIFIED: 'Safari' is installed, opening browser..."
open -a safari "$URL"
else
echo "Can't find any browser"
fi
이것은 당신이 원하는 것에 정확히 적용되지 않을 수도 있지만, npm 패키지를 사용하여 서버를 만들고 시작하는 정말 쉬운 방법이 있습니다.
설치 후(단, 설치 후)npm install http-server -g
) 을 넣을 수 있습니다.
http-server -o
현재 디렉터리에서 서버를 시작하고 해당 페이지에 대한 브라우저를 엽니다.
언급URL : https://stackoverflow.com/questions/3124556/clean-way-to-launch-the-web-browser-from-shell-script
반응형
'programing' 카테고리의 다른 글
Python3에서 printf처럼 인쇄하는 방법은? (0) | 2023.05.25 |
---|---|
셀의 배경색을 셀 내 데이터의 RGB 값으로 설정 (0) | 2023.05.20 |
선택/선택 해제된 키워드 지원 없이 VB에서 GetHashCode를 재정의하시겠습니까? (0) | 2023.05.20 |
Eclipse에서 XML 유효성 검사 사용 안 함 (0) | 2023.05.20 |
bash를 사용하여 함수의 출력을 변수에 할당하려면 어떻게 해야 합니까? (0) | 2023.05.20 |