Alias ​​un comando da eseguire in background


25

Vorrei che una scorciatoia da tastiera funzionasse così:

> e foo.txt

per espandere come

> emacs foo.txt &

È semplice da usare alias e=emacs, ma come inserisco il &nome del file dopo? Mi rendo conto che potrebbe non essere possibile usare just alias, quindi accetterò qualsiasi soluzione bash. Se è necessario uno script di shell, spiega come funziona.


4
Dovresti usare emacscliento gnuclientper aprire un file dalla riga di comando invece di aprirne uno nuovo emacsper ogni file: emacswiki.org/emacs/EmacsClient
andcoz,

Risposte:


38

Alias ​​in bash non può avere argomenti, ma puoi usare le funzioni.

e() { emacs "$@" & }

poi

e foo.txt

farà quello che vuoi.


1
Questo ha un problema quando scrivo e foo*una directory con entrambi foo.cppe foo.h, si aprirà solo uno dei file.
Agganciato il

4
@Hooked, quindi utilizzare "$@"anziché "$1"nella funzione.
AProgrammer,

1
@AProgrammer che non sembra funzionare con i caratteri jolly. La sintassi che sto usando è: emacs $* &e sembra essere una soluzione ancora miglioree() { command emacs $* & disown }
nome
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.