在键盘快捷键中使用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查找文件,其中~按原样获取。