Я пытаюсь установить сочетание клавиш для notify-send $(fortune), но когда я его активирую, он просто отправляет уведомление, в котором говорится $(fortune), вместо фактического предоставления состояния. Обратите внимание, что если я запустил его в терминале, он работает по назначению (т. Е. Отправляет уведомление с результатом fortune). Это, по-видимому, означает, что при активации сочетания клавиш он не интерпретирует его как команду bash, а скорее просто запускает программу notify-send с аргументом $(fortune).
Как мне получить
Обратите внимание, что я попытался поместить его в сценарий оболочки и сделать sh ~/tell-fortune.sh, но это тоже не работает.
$(...) - это функция оболочки, а команда командной строки клавиатуры не запускается в оболочке.
Попробуйте это вместо:
sh -c 'notify-send $(fortune)'
Что касается sh tell-fortune.sh, без указания полного пути к tell-fortune.sh, где sh будет искать его?
Что касается sh ~/tell-fortune.sh, ~ также является оболочкой, без оболочки, он будет искать файл на относительном пути ~/tell-fortune.sh, где ~ взят как есть.
$(...) - это функция оболочки, а команда командной строки клавиатуры не запускается в оболочке.
Попробуйте это вместо:
sh -c 'notify-send $(fortune)'
Что касается sh tell-fortune.sh, без указания полного пути к tell-fortune.sh, где sh будет искать его?
Что касается sh ~/tell-fortune.sh, ~ также является оболочкой, без оболочки, он будет искать файл на относительном пути ~/tell-fortune.sh, где ~ взят как есть.