bash
не имеет эквивалента zsh
глобальным псевдонимам (которые могут быть развернуты в любом месте команды, как вы хотите).Макрос Readline может быть более подходящим:
$ bind '"¤¤": "&& !!"'
$ echo a
$ echo b ¤¤
b
a
Обратите внимание, что при вводе ¤¤
Readline немедленно заменит эти два символа вместо && !!
(что трудно продемонстрировать здесь).
Чтобы убедиться, что это всегда доступно в вашей оболочке, либо добавьте
bind '"¤¤": "&& !!"'
в файл .bashrc
, либо добавьте
$if Bash
"¤¤": "&& !!"
$endif
в файл .inputrc
.(Обратите внимание, что .inputrc
читается программами, отличными от bash
, и этот конкретный макрос может не стоить определять для других программ.)