我有一个简单的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