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