Comment faire pour ouvrir Firefox mailto: liens avec mutt dans le terminal

10

Tout ce que je veux faire, c'est transmettre des mailto:liens vers urxvt -e mutt -F ~/path/to/muttrcle reste du mailto: URL ajouté. J'ai essayé tous les scripts que je peux trouver en ligne qui prétendent le faire, du plus simple:

#!/bin/sh
exec "urxvt -e mutt -F /path/to/muttrc \"$@\""

à complexe , et le plus qu'ils font est d'ouvrir une fenêtre de terminal pendant une fraction de seconde avant qu'elle ne disparaisse automatiquement (et il n'y a aucune preuve d'un processus mutt en cours d'exécution). Aucune suggestion?

Loup
la source

Réponses:

4

Supprimez les guillemets, ou le shell tentera d'exécuter la chaîne complète en tant que commande (qui n'existe évidemment pas).

#!/bin/sh
exec urxvt -e mutt -F /path/to/muttrc "$@"

Non testé, mais la présence de guillemets est l'explication de la disparition du terminal.

Stéphane Gimenez
la source
Merci Stéphane. Ça marche. J'admets la confusion quant au moment de citer $@et quand ne pas le faire.
Wolf
1
"$@"entraînera autant de mots que le nombre d'arguments. Avec $@, tous les arguments seront réduits et divisés à nouveau (généralement ce n'est pas ce que vous voulez).
Stéphane Gimenez
1
J'ai essayé cela avec Firefox et je n'arrive pas à le faire fonctionner. J'ai utilisé la chaîne EXACT ci-dessus (en modifiant l'argument en -F et en supprimant entièrement -F et l'arg) et pour moi la console disparaît toujours ..
Frew Schmidt
Je pense que le problème est que certains émulateurs de terminaux ne transmettent pas d'arguments supplémentaires. Par exemple, si vous utilisez le terminatorterme, il fournit une -xoption, qui transmet commodément des arguments supplémentaires à la commande en cours d'exécution.
romanofski
@romanofski: Vous avez raison, avec les termites par exemple, ça l'est exec termite -e "mutt \"$@\"".
Matthias Braun