Usando comandos bash em atalhos de teclado

0

Estou tentando definir um atalho de teclado para notify-send $(fortune) , mas quando eu o ativo, ele envia uma notificação que diz $(fortune) em vez de realmente dar uma fortuna. Observe que, se eu o executar no terminal, ele funcionará como pretendido (isto é, envia uma notificação com o resultado de fortune ). Isso parece implicar que quando o atalho de teclado é ativado, ele não o está interpretando como um comando bash, mas sim simplesmente executando o programa notify-send com o argumento $(fortune) .

Como faço para interpretar corretamente?

Note que tentei colocá-lo em um shell script e fazer sh ~/tell-fortune.sh , mas isso também não funciona.

    
por PyRulez 06.03.2018 / 07:35

1 resposta

2

$(...) é um recurso de shell e o comando de atalho do teclado não é executado em um shell.

Tente isso:

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

Quanto a sh tell-fortune.sh , sem fornecer o caminho completo para tell-fortune.sh , onde sh procuraria?

Quanto a sh ~/tell-fortune.sh , ~ é também um recurso de shell, sem um shell, ele procurará um arquivo no caminho relativo ~/tell-fortune.sh , em que ~ é considerado como -é.

    
por Olorin 06.03.2018 / 07:43