четверг, 19 января 2012 г.

BASH скрипт, определение полного пути к рабочей директории.

Часто есть необходимость в точном позиционировании на файловой системе относительно выполняемого bash скрипта. Например, я веду лог файл выполнения скрипта и размещаю его рядом с самим скриптом с именем name_of_my_bash_script.sh.log.


Вот как реализовываем:


script_pwd=$(cd $(dirname "$0"); pwd)
logfile=${script_pwd}/`basename ${0}`.log



Хочу, дополнительно, прокомментировать написанную выше конструкцию. Она позволяет определить полный путь к лог-файлу (а не относительный от самого скрипта), что в свою очередь позволяет избежать проблем при запуске скрипта из разных мест файловой системы, а также при изменении рабочей директории в процессе выполнения скрипта.

Alice Madness Returns + PS2 Joypad Dualshock 2 через USB переходник

Я себя не могу назвать геймером, но недавно вышедшая игра Alice Madness Returns заставила :) меня засесть за свой ПК в процессе убивание большого количества времени.
Где-то с половину игры я играл на клавиатуре, вторую же половину проходил на геймпаде от PlayStation2 через переходник PS2-game-controller-to-pc-usb-converte. Одним словом, небо и земля. После подключения данного конвертера в linux, dmesg сразу отобразил информацию о подключённом контроллере и подгрузил дрова, что не может не радовать. В WinXP SP3 также дополнительных драйверов непотребовалось.

Игра определила подключенный контроллер, но во время игры я был раздосадован следующими проблемами:
1/ В правом аналоговом стике управляющем вращением камеры перепутаны оси.
2/ перепутаны кнопки A, B и X,Y. (с этим, в принципе можно жить).

В общем, немного погуглив, нашёл примеры исправления для других игр на том же движке. И поэкспериментировав, получил полное решение проблем, что и напишу ниже...