在键盘快捷键中使用 bash 命令

在键盘快捷键中使用 bash 命令

我正在尝试设置 的键盘快捷键notify-send $(fortune),但当我激活它时,它只会发送一条通知,内容是 ,$(fortune)而不是实际给出一个算命结果。请注意,如果我在终端中运行它,它会按预期工作(即发送带有 的结果的通知fortune)。这似乎意味着当键盘快捷键被激活时,它不会将其解释为 bash 命令,而是简单地使用notify-send参数运行程序$(fortune)

我怎样才能让它正确地解释它?

请注意,我已尝试将其放入 shell 脚本中并执行sh ~/tell-fortune.sh,但这也不起作用。

答案1

$(...)是shell功能,键盘快捷键命令不在shell中运行。

尝试一下这个:

sh -c 'notify-send $(fortune)'

至于sh tell-fortune.sh,如果不提供的完整路径tell-fortune.sh,那么在哪里sh寻找它呢?

至于sh ~/tell-fortune.sh~一个 shell 特性,如果没有 shell,它将在相对路径下寻找文件~/tell-fortune.sh,其中~按原样执行。

相关内容