Arka planda çalıştırılacak bir komutu takma ad


25

Çalışmak için bir klavye kısayolu istiyorum:

> e foo.txt

genişletmek

> emacs foo.txt &

Kullanımı basit alias e=emacs, ancak &dosya adını sonra nasıl eklerim ? Sadece kullanarak mümkün olmayabilir alias, bu yüzden herhangi bir bash çözüm kabul edeceğim. Bir kabuk betiğine ihtiyaç duyulduğunda lütfen nasıl çalıştığını açıklayın.


4
Her dosya için yeni bir dosya açmak yerine bir dosyayı komut satırından açmanız emacsclientveya kullanmanız gerekir : emacswiki.org/emacs/EmacsClientgnuclientemacs
andcoz 23:11

Yanıtlar:


38

Bash'deki diğer adın argümanları olamaz, ancak işlevleri kullanabilirsiniz.

e() { emacs "$@" & }

sonra

e foo.txt

ne istersen onu yapacağım.


1
Ben yazarken bu bir sorunu var e foo*bir ikisi ile dizinde foo.cppve foo.haçılır dosyaların sadece biri.
Hooked

4
@Hooked, daha sonra işlev "$@"yerine kullanın "$1".
AProgrammer

1
@ Joker için çalışmıyor gibi görünen programcı. Kullandığım sözdizimi: emacs $* &ve daha iyi bir çözüm gibi görünüyore() { command emacs $* & disown }
isim
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.