我正在尝试设置 的键盘快捷键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
,其中~
按原样执行。