2012-03-13 59 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