2012-03-13 62 views
1

文件我用的Apache2的Ubuntu 11.10,在我的WWW文件夾位於/var/www/下下,所以我寫了一個bash函數來打開http://localhost//var/www/在任何給定的文件,所以基本上我換成/var/www/localhost從慶典用給定的文件路徑啓動Firefox:bash函數來打開本地主機

function lh { 
    wd=$(pwd) 
    file_path="localhost${wd:8}/$1" 
    firefox $(echo "$file_path") & 
} 

有這個問題,它不會進程發送到後臺,並輸出從Firefox的每一個動作來砸!任何人都可以幫助我嗎?我是bash的新手。

回答

0

你爲什麼不只是使用

firefox file:///$PWD/$1 
+0

這是一個PHP文件,當我運行它像PHP引擎不會處理,而是提示下載文件 – 2012-03-13 05:08:19

3

從一個bash的點(即忽略@ dtmilano的答案,很可能是100%正確的)

你不需要做

firefox $(echo "$file_path") & 

只是

firefox "$file_path" & 

當我在一個簡單的腳本中嘗試這個時,它不喜歡firfox的第二個調用過於接近第一個 - 它們之間需要幾秒鐘的時間,所以第二個文件沒有出現錯誤。

如果您不需要Firefox的輸出,你可以把它直接到/ dev/null的

firefox "$file_path" > /dev/null & 
+0

這很奇怪 - 當然會把它放在我的BG上。 – John3136 2012-03-13 05:17:36

+0

謝謝約翰,我感謝你的幫助,問題發生,因爲我使用su登錄爲超級用戶,你可以自己嘗試 – 2012-03-13 06:23:39