4

我有一个简单的 shell 脚本:

#!/bin/zsh

URL=$1

function findBrowser {
    processName=$1
    ps ax | grep "$processName" | grep -v grep | wc -l
}

CNTFF=`findBrowser "firefox"`
CNTCH=`findBrowser "chromium"`

echo "$*" > $HOME/logurls

if [ $CNTFF -ge 1 ] 
then
    /usr/bin/firefox "$URL"
elif [ $CNTCH -ge 1 ] 
then
    /usr/bin/chromium "$URL"
else
    echo "No running browser instance"
fi

如果使用 URL 作为参数从命令行调用它,则一切正常。但是,如果我在 urxvt 的配置中指定脚本,则不会传递任何 URL(我正在检查 logurls)。

urxvt 的配置是

URxvt.perl-ext-common:  default,matcher,clipboard
URxvt.matcher.button:   1
URxvt.urlLauncher:      $HOME/bin/openurl

最奇怪的是,如果我将 urlLauncher 更改为 /usr/bin/firefox - 那么它会以某种方式打开 URL。所以看起来 URL 被传递给了 firefox,但没有传递给我的脚本。

调试的方法是什么?还是我错过了有关 urxv 的一些东西?

如果我指定/home/user/bin/openurl而不是$HOME/bin/openurl则更新效果很好

4

0 回答 0