在键盘快捷键中使用bash命令
我正在尝试为notify-send $(fortune)
设置一个键盘快捷键,但是当我激活它时,它只是发送一个说明$(fortune)
而不是实际$(fortune)
的通知。 请注意,如果我在终端中运行它,它按预期工作(即发送带有fortune
结果的通知)。 这似乎意味着当激活键盘快捷键时,它不会将其解释为bash命令,而是简单地使用参数$(fortune)
运行程序notify-send
。
如何让它正确解释?
请注意,我已经尝试将它放在shell脚本中并执行sh ~/tell-fortune.sh
,但这也不起作用。
$(...)
是一个shellfunction,键盘快捷键命令不在shell中运行。
试试这个:
sh -c 'notify-send $(fortune)'
至于sh tell-fortune.sh
,没有给出sh tell-fortune.sh
的完整路径, sh
会在哪里寻找它?
至于sh ~/tell-fortune.sh
, ~
也是一个shell特性,没有shell,它将在相对路径~/tell-fortune.sh
查找文件,其中~
按原样获取。