Linux bash перемещение по истории команд учитывая частично набранные символы

Апрель 10, 2021 - Время чтения: 2 минуты

По умолчанию нажатие клавиши "стрелка вверх" в bash выводит последнюю команду вне зависимости от того, что было  введено на данный момент. Но более удобно перемещаться по истории команд используя частично набранную команду.

Для этого нужно в файл ~/.inputrc добавить следующие команды


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

или в файл  ~/.bashrc

if [[ $- == *i* ]]
then
    bind '"\e[A": history-search-backward'
    bind '"\e[B": history-search-forward'
fi

Для подсветки строки приглашения под пользователем root (например выделить красным цветом пользователя) нужно заменить строку в файле /etc/bash.bashrc

if ! [ -n "${SUDO_USER}" -a -n "${SUDO_PS1}" ]; then
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

на

if ! [ -n "${SUDO_USER}" -a -n "${SUDO_PS1}" ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\e[0;31m\]\u\[\e[m\]@\h:\w\$ '
fi

Полу(о)умный дом

Делаем вещи умнее...

Посетителей

85