Показаны сообщения с ярлыком shell. Показать все сообщения
Показаны сообщения с ярлыком shell. Показать все сообщения

суббота, 23 января 2010 г.

Цвета в консоли OpenBSD

По умолчанию шелл рута в OpenBSD4.6 -- ksh.
Можно его раскрасить, если в качестве эмулятора терминала вместо VT220 указать wsvt25m.
# export TERM=wsvt25m
Чтобы сделать его эмулятором терминала по умолчанию -- прописать его в /etc/ttys вместо VT220.
Теперь, собственно, тема...
30 - dark grey
31 - red
32 - green
33 - yellow
34 - blue
35 - magenta(?)
36 - light green
Проверка цвета:
echo "\033[1;31mtext\033[m -- text красного цвета
echo "\033[1;32mtext\033[m -- text зеленого цвета

Цвета в приглашении ksh:
Обеспечиваются при помощи tput.
1 - red
2 - green
3 - yellow(brown)
4 - blue
5 - magenta
6 - light green
Пример:
PS1="\[$(tput setaf 1)\]\u@\h: ->\[$(tput op)\] "
Выведет приглашение вида
'username@hostname -> ' крансого цвета.
Изменяя цифру после tput setaf, получаем разные цвета.

пятница, 26 сентября 2008 г.

Получение списка email-адресов из файла

grep -E -h '[a-zA-Z]+@([a-zA-Z]+\.)+[a-zA-Z]{2,3}' mails.txt
grep -E -h '[a-zA-Z]+@([a-zA-Z]+\.)+[a-zA-Z]{2,3}' mails.txt | uniq | sort

вторник, 24 июня 2008 г.

antiodt (Thanx to http://sovety.blogspot.com/)

#!/bin/sh
# Script for viewing odt-files in plain-text

unzip -p "$1" content.xml | xmlstarlet sel -N text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" -T -t -m '//text:p' -v . -n | less

понедельник, 2 июня 2008 г.

Простой сетевой сканер на shell (from http://ylsoftware.com/)

Этот скрипт не является полноценным сканером сетей, а просто даёт список адресов, отвечающих на ICMP-запросы (пинги). Листинг скрипта приведён ниже:

#!/bin/sh

NET=${1}

if [ -z ${NET} ]; then
echo 'Usage:'
echo ' scan.sh first_3_octets'
echo ''
echo 'Example:'
echo ' scan.sh 192.168.0'
echo ''

else
echo "Finding hosts in net ${NET}.0/24"
echo ''
echo 'Found hosts:'
for host in `seq 1 254`; do
if (ping -c 3 ${NET}.${host} > /dev/null 2> /dev/null) then
echo ${NET}.${host}
fi
done
fi

exit 0

среда, 14 мая 2008 г.

Скрипт ping (цикл)

forping script:
#!/bin/sh
HOSTS="host1 host2 host3 host4 hostn"
for loop in $HOSTS
do
ping -c2 $loop
done
exit 0

Специальные параметры интерпретатора shell

$# - число аргументов, переданных сценарию
$* - отображение всех аргументов, переданных сценарию
$$ - текущий идентификатор PID последнего выполняющегося процесса
$! - идентификатор PID последнего процесса, выполняющегося в фоновом режиме
$@ - то же самое, что и $#, но, если параметр заключен в кавычки, то и каждый аргумент отображается в кавычках
$- - отображает текущие опции интерпретатора; аналогично применению команды set
$? - возвращает код завершения последней команды; 0 говорит об отсутствии ошибок, другое число - об их наличии

Скрипт рассылки почты

formailit script:
#!/bin/sh
WHOS_ON=`who -u | awk '{ print $1}'` # вместо списка залогиненных пользователей можно пропарсить список пользователей #почтового домена
for user in $WHOS_ON
do
mail $user <<< MAYDAY
some
text's
line.
$LOGNAME
MAYDAY
done
exit 0