пятница, 9 ноября 2012 г.

Разбор параметров командной строки в shell


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

#! /bin/sh

USAGE="Usage: `basename $0` [-hv] [-o arg] args"

# Разбор параметров командной строки
while getopts hvo: OPT; do
    case "$OPT" in
        h)
            echo $USAGE
            exit 0
            ;;
        v)
            echo "`basename $0` version 0.1"
            exit 0
            ;;
        o)
            OUTPUT_FILE=$OPTARG
            ;;
        \?)
            # getopts вернул ошибку
            echo $USAGE >&2
            exit 1
            ;;
    esac
done

# Удаляем обработанные выше параметры
shift `expr $OPTIND - 1`

# Здесь мы требуем как минимум один параметр помимо опций

# Удалить блок, если он не требуется
if [ $# -eq 0 ]; then
    echo $USAGE >&2
    exit 1
fi

# Доступ к дополнительным параметрам осуществляется через обычные
# переменные $@, $*, $1, $2, и т.д. Или используя этот цикл
for PARAM; do
    echo $PARAM
done

# EOF


Для добавления новых параметров прописываем их в параметрах getopt и пропысываем реакцию в case. Если после буквы ключа идёт двоеточие, значит данный ключ требует аргумента.

суббота, 8 сентября 2012 г.

МТС + GSM в Пензе

Телефон стал переключаться с HSDPA на EDGE... Кажется МТС в Пензе стал работать и в GSM диапазоне. Улучшится ли теперь покрытие, стоит ли радоваться появлению GSM?

среда, 5 сентября 2012 г.

Индийский чай приехал

В понедельник доехала до меня посылка с чаем. Почти три недели для нашей экспресс-почты - это нормальный срок. Хотя при заказе я выбирал доставку обычной авиа-почтой, но магазин решил порадовать клиента и, не зная российских особенностей, выслал заказ через EMS. Повезло с датой получения - на почте не было очереди на оплату коммунальных услуг или за пенсией. На получение посылки ушло всего пять минут. Просить доставить посылку на дом не рекомендуется. На это может потребоваться несколько дней и неизвестно время, во сколько её привезут. Этот вариант для тех, кто не выходит из дома и может потерпеть лишних три дня.
Получил я вот такой "пакет":
Посылка в упаковке


Картонная коробка зашита в какой-то марлевый мешок, швы опечатаны индийской разновидностью сургуча. Повреждений или следов вскрытия нет. Скотчем "EMS Russian Post" приклеены три экземпляра таможенной декларации. Адреса отправителя и получателя написаны на мешке от руки. Картонная коробка заклеена скотчем, а внутри...

Внутренности
 Чай. :) Неожиданно чай оказался упакован в вакуумные пакеты по 100г. Каждый пакет завёрнут в тонкий поролон на скотче. На пакетах наклейки с подробными ТТХ.

Ассортимент
Кроме заказанного чая приложили для бесплатных образца чёрного чая (стоимостью примерно в четверть всей посылки) и лифлет "Как заварить вкусный чай".
Попробовать чай ещё не успел, об этом напишу позже.

понедельник, 27 августа 2012 г.

Туманное утро на ул. Бекешской

Инспекторы ДПС ведут приём автомобилистов по вопросу проезда под знак "Движение запрещено". Система живой очереди позволяет обслуживать одновременно не менее двух человек.

среда, 15 августа 2012 г.

Для любителей хорошего чая

Только один день в индийском чайном интернет-магазинчике  DarjeelingTeaXpress скидка на все зелёные чаи и на Indian Chai (тот самый масала) в честь Дня Независимости Индии составляет 65% по коду "disc65". Доставка в Россию обычно бесплатная от $75, а сегодня... учитывайте скидку. ;)
А кто не успеет сегодня, то на первую покупку всегда можно получить скидку в 25% (посмотреть код купона).

пятница, 10 августа 2012 г.

Имя компьютера на рабочем столе

Однажды, объясняя пользователю как посмотреть имя компьютера, пришла ко мне мысль. Одна. Среди тысяч подобных. :) "А как можно упростить этот процесс? Можно ли вывести имя компьютера пользователю на рабочий стол?"
Быстрый поиск в гугле выдал ответ: BgInfo из комплекта Sysinternals. Запускаю - работает! А самое интересное, что утилита прописывает эти параметры в фон рабочего стола и завершает свою работу. Отличная штука для logon-скрипта.
Но есть одна небольшая загвоздка: куда-то делся рисунок с рабочего стола. Вместо него сплошной чёрный фон. Причём на Windows XP всё нормально, проблема только на Windows 7. Что ж, берусь опять за гугл. Оказывается это известная ошибка, возникающая при установке на Windows 7 фона рабочего стола через групповые политики. Проблема широко описана, но решение её не приводится. Учитывая, что последняя версия утилиты BgInfo датируется 2009 годом, рассчитывать на исправление ошибки не стоит.
Черновые раскопки дали следующий результат. Нужно в ветке HKEY_CURRENT_USER\Control Panel\Desktop прописать в параметре Wallpaper путь к файлу с корпоративными обоями (тот, что устанавливается через GPO). В таком случае, BgInfo наложит на него свой текст, сохранит в указанном в настройках каталоге и исправит значение этого параметра, чтобы он указывал на новый файл. Ожидаю, что должны велезти ещё проблемы, но пока всё работает.