Псевдоним команды для запуска в фоновом режиме


25

Мне бы хотелось, чтобы сочетание клавиш работало так:

> e foo.txt

расширяться как

> emacs foo.txt &

Это просто в использовании alias e=emacs, но как мне вставить &после имени файла? Я понимаю, что это может быть невозможно, используя просто alias, поэтому я приму любое решение Bash. Если нужен скрипт оболочки, объясните, как он работает.


4
Вы должны использовать emacsclientили, gnuclientчтобы открыть файл из командной строки вместо открытия нового emacsдля каждого файла: emacswiki.org/emacs/EmacsClient
andcoz

Ответы:


38

Псевдоним в bash не может иметь аргументов, но вы можете использовать функции.

e() { emacs "$@" & }

тогда

e foo.txt

будет делать то, что вы хотите.


1
Это проблема, когда я набираю e foo*каталог с обоими, foo.cppи foo.hоткрывается только один из файлов.
подключено

4
@ Зацепил, затем используй "$@"вместо "$1"функции.
AProgrammer

1
@AProgrammer, который, кажется, не работает для подстановочных знаков. Синтаксис, который я использую, таков: emacs $* &и, кажется, еще лучшее решениеe() { command emacs $* & disown }
имя
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.