1

У меня много команд, которые я хочу выполнить снова, но их много, и идти к ним с помощью клавиши со стрелкой вверх слишком долго. Можно ли получить его командой cat/tail и передать в файл?

3 ответа3

3

Вы можете использовать команду истории:

history > my_file
1

Введите Ctrl-R, а затем введите первые несколько букв команды.

1

Добавление этого к ~/.inputrc заставит стрелки вверх и вниз переключаться между командами, которые соответствуют началу строки:

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

Я также часто использую эти функции:

h() {
    if [ $# = 0 ]; then
        history 33 | sed '$d'
    else
        history | grep -iEF "$*" | grep -v '^ *[0-9]* *h '
    fi
}

r() {
    history ${1-200} | sed 's/^ *[0-9]* *//' | tail -r > /tmp/recent
    open /tmp/recent -e
}

Если вы добавите " ": magic-space в .inputrc, вы можете вставить команду 1234, набрав !1234 и пробел. Но это также заставляет пробел работать в irb и в интерактивном режиме в gnuplot.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .