Какие настройки мне нужны, чтобы использовать стрелку вверх для запуска предыдущей команды? С Mac я могу использовать стрелку вверх для повторного запуска только что запущенной команды, но она не работает с моей оболочкой bash.
Я использую 8.04 (я не могу использовать новейший дистрибутив из-за проблем с версией компилятора).
Я ничего не изменил, так как это новая установка с VMWare Fusion на Mac.
Убедитесь, что ваша история включена. Вы можете проверить текущее состояние, выполнив:
set -o
Вывод должен содержать (обратите внимание на строку history on
):
histexpand on
history on
ignoreeof off
Если это не включено, вам нужно запустить set -o history
. Чтобы сделать это изменение постоянным, вам нужно добавить его в ~/.bashrc
:
set -o history
Если вы хотите выполнить предыдущую команду, вы также можете запустить следующую команду:
[ 113]со страницы руководства Bash :
Event Designators
An event designator is a reference to a command line entry in the history list.
! Start a history substitution, except when followed by a blank, newline,
carriage return, = or ( (when the extglob shell option is
enabled using the shopt builtin).
!n Refer to command line n.
!-n Refer to the current command line minus n.
!! Refer to the previous command. This is a synonym for `!-1'.
!string
Refer to the most recent command starting with string.
!?string[?]
Refer to the most recent command containing string. The trailing ?
may be omitted if string is followed immediately by a newline.
^string1^string2^
Quick substitution. Repeat the last command, replacing string1 with
string2. Equivalent to ``!!:s/string1/string2/'' (see Modifiers below).
!# The entire command line typed so far.
Если вы используете Bash, вы также можете использовать сочетания клавиш по умолчанию для навигации по истории:
[ 1119]Ctrl kbd> + N kbd >: Следующая команда
Команды для манипулирования историей предыдущая история (Cp) Извлечь предыдущую команду из списка истории, возвращаясь назад в список. next-history (C-n) Извлечь следующую команду из списка истории, двигаясь вперед в списке.
В терминале введите:
gedit ~/.inputrc
Затем скопируйте и вставьте:
"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char
С этого момента в терминале вы можете выполнять пошаговый поиск. предыдущая команда - ввести первые две или три буквы, и стрелка вверх приведет вас туда быстро.
Убедитесь, что вы используете bash. Обычная ошибка - создание нового пользователя с useradd
вместо adduser
или приложением «Пользователи и группы» (GUI). В первом случае оболочкой по умолчанию является /bin/sh
. Запустите chsh
( ch ange sh ell), чтобы убедиться, что установлено /bin/bash
.