Я пытаюсь написать псевдоним для cd !!: 1, который берет 2-е слово предыдущей команды и изменяется на каталог с этим именем. Например, если я наберу
rails new_project
cd !!:1
вторая строка перейдет в каталог "new_project".
Поскольку !!: 1 неудобно набирать (хотя оно короткое, для него требуются три клавиши SHIFTed, расположенные на противоположных сторонах клавиатуры, а затем версия клавиши SHIFT, которая была набрана дважды SHIFTed), я хочу просто наберите что-то вроде
cd-
но поскольку !!: 1 вычисляется в командной строке, я (ЯВНО) не могу просто сделать
alias cd-=!!:1
или я бы сохранил псевдоним, содержащий жестко запрограммированный в нем "new_project". Поэтому я попытался
alias cd-='!!:1'
Проблема в том, что !!: 1 НИКОГДА не оценивается, и я получаю сообщение о том, что ни один каталог с именем !!: 1 не существует. Как я могу создать псевдоним, в котором подстановка истории оценивается во время, когда я выдаю команду ALIAS, а не при определении псевдонима и никогда?
(я пробовал это как в bash, так и в zsh, и получаю одинаковые результаты в обоих.)