2013-05-30 47 views
-1

我想在shell腳本中打開一組URL並獲取返回狀態。 我試過侏儒開放和XDG-開放,但沒有運氣使用shell腳本打開一組URL

xdg-open http://www.google.com 
-bash: xdg-open: command not found 


gnome-open http://www.google.com 
Error showing url: There was an error launching the default action command associated with this location. 

我有網址的數組。我想打開它們,如果它們打開時沒有任何錯誤,則顯示狀態爲正在運行,否則未運行。

#!/bin/ksh 
urlArray=('http://url1:port1' 'http://url2:port2' 'http://url3:port3') 
for url in "${urlArray[@]}" 
do 
    result=`curl $url | head -1` 

    if (echo $result | grep '<?xml' >/dev/null 2>&1); then 
     echo Running 
    else 
     echo Not Running 
    fi 
done 

如果url正確打開時,它都會有一號線"<?xml version" .Hence我想給grep這一點。

+0

'的gnome-打開http:// www.google.com'工作正常。它與Firefox的程序打開。即使在KDE環境中。也許你不是一個與此相關的默認程序? – Jack

+0

「打開」,就像在瀏覽器中訪問它們一樣?大多數圖形瀏覽器不會提供任何錯誤代碼,尤其不適用於單個頁面。如果你只是想檢查服務器是否響應,也許像'w3m'這樣的textuaö瀏覽器或像'curl'這樣簡單的命令行工具可能更接近你正在尋找的東西。你想要完成什麼? – tripleee

+0

@tripleee我更新了我的問題,正是我想要做的事 – Jill448

回答

0

您沒有與打開URL關聯的默認程序。嘗試:

gconftool-2 --set --type=string /desktop/gnome/url-handlers/http/command '/usr/bin/firefox %s' 

這將設置爲默認的Firefox(假設它在/usr/bin/firefox可用)。

而且你似乎沒有安裝xdg-utils這就是爲什麼你看到xdg-open: command not found

+0

如果Gnome安裝正確,我希望'xdg-open'也在那裏。 – tripleee

+0

在較老的發行版上,gnome對'xdg-utils'沒有依賴關係(外部或其他)。 – devnull