Є кілька шарів, в яких можна попросити останню команду.
Редактор рядків
Редактор рядків (де ви вводите ваші команди) надається безпосередньо ksh, читальним рядком бібліотеки в bash і бібліотекою zle в zsh. Інші оболонки, як-от тире, можуть не мати бібліотеки для редагування, щоб зрозуміти ці клавіші (якщо не складено з --with-libedit
увімкненою опцією).
Ця робота в ksh, bash, zsh:
Ctrl- Pрежим # Emacs (попередній)
Ctrl- Nрежим # Emacs (наступний)
ESC- k режим # vi ESC для переходу до командного режиму та k для вгору
ESC- j режим # vi ESC для переходу до командного режиму та j для вниз
історія
Система історії, що надається багатьма оболонками, дозволяє розширити деякі ярлики:
!! # bash and zsh, may be provided by `alias \!\!='fc -e -'` in ksh.
!-1 # bash and zsh only
команди
Є кілька команд, які здатні отримати команди з історії.
Як і досить багатослівна команда (тільки для друку):
history 2 | head -n-1
або старша, тому зазвичай більш портативна fc
команда (безпосередньо повторно виконується):
fc -e - -1
А може, простіше fc -s -1
, але zsh не приймає такий варіант для fc.
Якщо ви хочете тільки надрукувати команду, використовуйте: fc -nl -1 -1
.
Для редагування значення FCEDIT
в текстовому редакторі (напр Е.Д. Emacs, VI, і т.д.) і використовувати FC безпосередньо: fc -1
.