Mid-command псевдоним / функция - PullRequest
1 голос
/ 22 апреля 2019

Поскольку я много использую && !!, мне интересно, есть ли способ сократить его (сейчас мне нужно много двигаться для этого). Пример использования:

$ alias ¤¤='\&\& \!\!' # This is not a mid-command alias
$ echo a
a
$ echo b ¤¤
b
a

1 Ответ

2 голосов
/ 22 апреля 2019

bash не имеет эквивалента zsh глобальным псевдонимам (которые могут быть развернуты в любом месте команды, как вы хотите).Макрос Readline может быть более подходящим:

$ bind '"¤¤": "&& !!"'
$ echo a
$ echo b ¤¤
b
a

Обратите внимание, что при вводе ¤¤ Readline немедленно заменит эти два символа вместо && !! (что трудно продемонстрировать здесь).

Чтобы убедиться, что это всегда доступно в вашей оболочке, либо добавьте

bind '"¤¤": "&& !!"'

в файл .bashrc, либо добавьте

$if Bash
"¤¤": "&& !!"
$endif

в файл .inputrc.(Обратите внимание, что .inputrc читается программами, отличными от bash, и этот конкретный макрос может не стоить определять для других программ.)

...