So öffnen Sie Firefox mailto: Links mit mutt im Terminal


10

Ich möchte nur mailto:Links an urxvt -e mutt -F ~/path/to/muttrcden Rest der angehängten mailto: URL übergeben. Ich habe jedes Skript ausprobiert, das ich online finden kann und das dies vorgibt.

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

zu komplex , und das meiste, was sie tun, ist, ein Terminalfenster für den Bruchteil einer Sekunde zu öffnen, bevor es automatisch wieder verschwindet (und es gibt keine Hinweise auf einen laufenden Mutt-Prozess). Irgendwelche Vorschläge?

Antworten:


4

Entfernen Sie die Anführungszeichen, oder die Shell versucht, die vollständige Zeichenfolge als Befehl auszuführen (der offensichtlich nicht vorhanden ist).

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

Nicht getestet, aber das Vorhandensein von Anführungszeichen ist die Erklärung für das Verschwinden des Terminals.


Danke Stephane. Es klappt. Ich gebe zu, verwirrt darüber zu sein, wann ich zitieren soll $@und wann nicht.
Wolf

1
"$@"führt zu so vielen Wörtern wie die Anzahl der Argumente. Mit $@werden alle Argumente reduziert und erneut in Wörter aufgeteilt (normalerweise ist dies nicht das, was Sie wollen).
Stéphane Gimenez

1
Ich habe es mit Firefox versucht und ich kann es scheinbar nicht zum Laufen bringen. Ich habe die obige EXACT-Zeichenfolge verwendet (das Argument in -F ändern und -F und das Argument vollständig entfernen) und für mich verschwindet die Konsole immer noch.
Frew Schmidt

Ich denke, das Problem ist, dass einige Terminalemulatoren keine zusätzlichen Argumente weitergeben. Wenn Sie beispielsweise den terminatorBegriff verwenden, bietet er eine -xOption, die bequem zusätzliche Argumente an den ausführenden Befehl übergibt.
Romanofski

@ Romanofski: Du hast Recht, mit Termite zum Beispiel ist es exec termite -e "mutt \"$@\"".
Matthias Braun
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.