terminal
ведение журнала для терминала
Иногда возникает необходимость залогить все действия совершаемые в терминале. для этого очень удобно использовать утилиту script.
Просто запускаем её в терминале и работаем дальше как ни в чём небывало. в конце сессии набираем exit и вуаля -- вся сессия сохранена в файл.
Подробнее с этой утилой можно ознакомится в мануале. man script
Как узнать размеры терминала в скрипте
Иногда полезно узнать размеры терминала в котором работает ваш скрипт (например при использовании dialog).
0. По умолчанию терминалы под X-Window устанавливают размеры терминалов в переменные LINES и COLUMNS.
Но к сожалению в скрипты они не экспортятся Ж:-(
1. Можно воспользоватся программой stty, если она поддерживает параметр size
$ stty size 71 159 $ eval `stty size | sed -e 's/\(.*\) \(.*\)/LINES=\1 COLUMNS=\2/'` $ echo $LINES $COLUMNS 71 159 $
2. Если на машине установлен ncurses (а сейчас сложно тайти машину на которой он не стоит Ж:-)
то можно воспользоваться программой tput.
COLUMNS=`tput cols` LINES=`tput lines`
3. Если на машине установлен X-Window, то можно воспользоваться командой resize которая возвращает
код на sh для установки переменных LINES и COLUMNS.
$ resize COLUMNS=159; LINES=71; export COLUMNS LINES; $ eval `resize` $ echo $LINES $COLUMNS 71 159 $
Вызов помощи в zsh по F1
Если вы набираете команду в zsh и забыли какой либо ключик, было бы неплохо нажать F1 и получить помошь по команде.
Вносим в ~/.zshrc
autoload zsh/terminfo bindkey $terminfo[kf1] run-help
запускаем zsh заново, набираем например
find . -<F1>и автоматически будет вызвано run-help find. Приятно что после выходи из мана вы можете продолжать
редактировать туже строку.
PS.
По мотивам справедливого замечания anonymous-a.
Для людей использующих vi режим в zsh может быть интересно это.

