Интерпретаторы

Изображение пользователя ramok.

Автоматический запуск ssh-agent

Tags: •  •  •  • 
Ранее было рассказано как настроить ssh-agent для автоматической авторизации приложений работающих с ssh. Если вы не используете X-Windows, то ssh-askpass вам не поможет. Зато можно настроить запуск ssh-agent в вашем шеле.

Идея в том что бы указать сокет ssh-agent с жестко заданным именем, и если ssh-agent незапущен, то запустить его.

добавляем в ~/.zshrc или ~/.bashrc
[ ! -S ~/.ssh/ssh-agent ] && eval `/usr/bin/ssh-agent -a ~/.ssh/ssh-agent`
[ -z $SSH_AUTH_SOCK ] && export SSH_AUTH_SOCK=~/.ssh/ssh-agent
Изображение пользователя ramok.

Связь shell в cygwin и windows explorer

Tags: •  • 

иногда жизнь заносит под windows, но это не повод отказыватся от любимого шела Ж:-)
в cygwin есть пакет chere, который позволяет внести в контекстное меню windows explorer пункт меню "shell here"
1) запускаем шел в cygwin
2) $ chere -i -t rxvt -s zsh
(это проинсталирует контекстное меню для запуска zsh в rxvt)
3) открываем в "мой компьютер" например диск с:, клацаем правой клавишей мышки на какой нибуть директории и выбираем в меню "zsh here". получаем щел с текущей директорией

можно делать и обратный вариант, тоесть вызывать windows explorer из щела для текущей директории. запускаем просто cygstart

alias howtime

Tags: •  •  •  •  • 

FreeBSD, tcsh
Для определения времени исполнения команд используется /usr/bin/time ....
Удобно использовать эту команду как алиас

echo alias howtime (/usr/bin/time -h) >> ~/.cshrc
source ~/.cshrc

параметр "-h" нужен для вывода времени в часах, минутах, и секундах, а не в машинных тактах ("h" от "human")

и теперь вместо построения строки команд вводите нужную вам команду после алиаса например:

howtime mplayer video_file.avi

в конце фильма вы увидите сколько это заняло времени для компьютера
(естественно этот алиас важен не для проигрывания фильмов , а для того чтобы знать например узнать время ко

Изображение пользователя ramok.

перевод чисел между 10 и 16-тиричными системами исчисления в консоли

Tags: •  •  •  •  • 

#1) sh

$ printf "%x\n" 29
$ printf "%d\n" 0x2c
$ let 0xff     # в OpenBSD не работает, в GNU и FreeBSD работает
$ echo $((16#2c)) # в FreeBSD не работает, в GNU и OpenBSD работает
$ echo $((0xff)) и echo $((077))

#2) bc

$ echo "obase=16;29" | bc
$ echo "ibase=16;2C" | bc

#3) dc

$ echo 29 | dc -e "16o?p"
$ echo 2C | dc -e "16i?p"

#4) awk

$ echo 29 | awk '{printf "%x\n", $0}'
$ echo 0x2c | awk '{print strtonum($0)}'

#5) perl

$ echo 29 | perl -ne 'printf "%x\n", $_'
$ echo 2c | perl -ne 'print hex $_'

я знаю есть еще множество способов, предлагайте еще! Ж:-)
как минимум редствами bash, zsh, sed (видел и такое Ж:-)

Как раскрасить приглашения bash

Tags: •  •  •  •  • 
Заносится в ~/.bashrc. При выполнении su root меняются цвета.
COLOR1="\[\033[0;36m\]"
COLOR2="\[\033[0;33m\]"
COLOR3="\[\033[0;38m\]"
COLOR4="\[\033[0;32m\]"

if [ "$UID" = 0 ]; then
    # I am root
    COLOR2="\[\033[0;31m\]"
    PS1="$COLOR1[$COLOR1\u$COLOR2@$COLOR1\h$COLOR2:$COLOR4\W$COLOR1]$COLOR2# $COLOR3"
else
    PS1="$COLOR1[$COLOR1\u$COLOR2@$COLOR1\h$COLOR2:$COLOR4\W$COLOR1]$COLOR2\$ $COLOR3"
fi
Изображение пользователя ramok.

Как настроить автодополнение в zsh для ssh хостов взятых из ~/.ssh/known_hosts

Tags: •  •  •  • 
добавляем в ~/.zshrc
ssh_hosts=($hosts ${${${(f)"$(<$HOME/.ssh/known_hosts)"}%%\ *}%%,*})
# automatically remove duplicates from these arrays
typeset -U ssh_hosts
zstyle ':completion:*:hosts' hosts $ssh_hosts
zstyle ':completion:*:(ssh|scp|sftp):*' tag-order '! users' #не добавлять юзера
проверяем запустив новый шел и набрав ssh [TAB] должно выдавать хосты на которые когда то были заходы по ssh дополнительные хосты которые вы хотите что бы автодополнялись можно заносить в массив $hosts перед приведенными командами.
Изображение пользователя ramok.

подсветка результатов работы grep

Tags: •  •  •  • 
GNU grep имеет удобную возможность подсвечивать цветом найденный паттерн добавте это в ~/.bashrc или ~/.zshrc
GREP_OPTIONS='--color=auto'
#GREP_COLOR='5;38' #мигающий
GREP_COLOR='1;33' #ярко-желный на черном
export GREP_OPTIONS GREP_COLOR
Изображение пользователя ramok.

быстрая отмена алиасов в bash и zsh

Tags: •  •  •  •  • 

могут быть алиасы которые по имени совпадают с программой
например
less='~/bin/less.sh'
ls='ls -FA --color=auto'
vi=vim

но иногда надо запустить программу, а не алиас. временно отменить выполнение алиаса можно так
\ls

Как сделать работу с историей команд в bash приятнее

Tags: •  •  • 

Для людей, которые большую часть команд выполняют в командной оболочке, удобство работы с историей набранных команд имеет большое значение. Но не все знают, каким образом можно управлять этой историей. Рассмотрим опции по управлению историей в оболочке bash.

поиск набранных команд in zsh-style в bash

Tags: •  •  • 

стандартный способ поиска по истории команд для оболочки bash (как, впрочем, и других программ, использующих libreadline) ([CTRL+r]) довольно неудобен, т.к. он производит поиск только в одну сторону.
а иногда хочется просмотреть все команды, которые начинаются указанным образом.

Добавить из скрипта сообщение в системный лог

logger - команда bash для добавления сообщений в системный лог.
$ logger -t TEST more of a test here
Вот что появится в /var/log/syslog:
Oct 28 07:15:50 squeezel TEST: more of a test here

тэги, указываемые по -t можно посмотреть в /etc/syslog.conf. Они используются syslog для сортировки сообщений по различным файлам логов, если это настроено ("mail", "daemons", etc).
logger обязателен к применению в скриптах-демонах, или просто в скриптах, которые выполняются в бэкграунде.

По материалам http://souptonuts.sourceforge.net/how_to_linux_and_open_source.htm

RSS-материал