Использование стрелки вверх для запуска предыдущей команды

Какие настройки мне нужны, чтобы использовать стрелку вверх для запуска предыдущей команды? С Mac я могу использовать стрелку вверх для повторного запуска только что запущенной команды, но она не работает с моей оболочкой bash.

Я использую 8.04 (я не могу использовать новейший дистрибутив из-за проблем с версией компилятора).

ДОБАВЛЕНО

Я ничего не изменил, так как это новая установка с VMWare Fusion на Mac.

11
задан 11 April 2011 в 22:46

3 ответа

Убедитесь, что ваша история включена. Вы можете проверить текущее состояние, выполнив:

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 + P : предыдущая команда
  • Ctrl + N : Следующая команда

    Команды для манипулирования историей предыдущая история (Cp) Извлечь предыдущую команду из списка истории, возвращаясь назад в список. next-history (C-n) Извлечь следующую команду из списка истории, двигаясь вперед в списке.

    0
    ответ дан 11 April 2011 в 22:46

    В терминале введите:

    gedit  ~/.inputrc
    

    Затем скопируйте и вставьте:

    "\e[A": history-search-backward
    "\e[B": history-search-forward
    "\e[C": forward-char
    "\e[D": backward-char
    

    С этого момента в терминале вы можете выполнять пошаговый поиск. предыдущая команда - ввести первые две или три буквы, и стрелка вверх приведет вас туда быстро.

    0
    ответ дан 11 April 2011 в 22:46

    Убедитесь, что вы используете bash. Обычная ошибка - создание нового пользователя с useradd вместо adduser или приложением «Пользователи и группы» (GUI). В первом случае оболочкой по умолчанию является /bin/sh. Запустите chsh ( ch ange sh ell), чтобы убедиться, что установлено /bin/bash.

    0
    ответ дан 11 April 2011 в 22:46

    Другие вопросы по тегам:

    Похожие вопросы: