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?

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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.