Люблю я иногда побаловаться с DBUS. Вот такие интересные штуки можно из него вынуть:
Скриптина выводит все KTorrents - торренты в формате
ИМЯ Размер Скачано
1
2
3
|
qdbus org.ktorrent.ktorrent |grep '/torrent/' |while read i; do echo `qdbus org.ktorrent.ktorrent $i org.ktorrent.torrent.name ; qdbus org.ktorrent.ktorrent $i org.ktorrent.torrent.totalSize ;qdbus org.ktorrent.ktorrent $i org.ktorrent.torrent.bytesDownloaded;`; done
|
Написал сегодня простенький скрипт, может кому понадобиться.
Скрипт тащит с сайта рейтинг и количество новых сообщений =)
На работе недавно встал вопрос - узнать размер, занимаемый только исходными кодами в проекте. В общем-то вроде все просто, но в то же время, лично, никогда передо мной такой вопрос не стоял.
Часто бывает, что скрипт вида
1
2
3
4
|
for i in $(find . -mindepth 2 -maxdepth 2);
do
something;
done |
не срабатывает как хотелось бы из-за файлов с пробелом в имени. Проблема эта стара как мир и люди знающие сразу скажут что делать в таких случаях, но новичку думаю будет полезно.
Решение проблемы достаточно простое и лаконичное:
1
2
3
4
|
find . -mindepth 2 -maxdepth 2 | while read i;
do
something;
done |
ЗЫ: в секции UNUSUAL FILENAMES мана к find сказано про ключи -ls и -fls, которые якобы должны экранировать пробелы и другие подобные символы, но у меня не заработало. Может быть кто-нибудь подкинет примерчик использования?
Я очень недавно начал работать с ArchLinux - до этого плотно сидел на deb-based дистрибутивах. В частности Debian и Ubuntu. Но совсем недавно сподобился поставить ArchLinux и он мне приглянулся. У него достаточно обширные репозитарии, и существует AUR - репозиторий пакетов собираемых самими пользователями. Собственно именно работа с AUR и сподвигла меня написать этот пост.
В ходе загрузки системы стартует масса процессов. Процессы запускаются с необходимыми параметрами. Можно запустить top и воспользоваться клавишей "c" для смены отображения колонки "COMMAND".
Все бы хорошо, но строка с параметрами может обрезаться, выходя за границы экрана. Можно поотключать некоторые колонки top, но мне оказалось удобнее написать небольшой скрипт и пользоваться им. Скрипт под катом.
Скрипты на bash — Скрипт для преобразования Сишных исходников в красиво оформленный PDF файл.
Возникла у меня потребность перевести много исходников, написанных на C, в PDF файл, чтобы все это потом можно было распечатать на принтере. Хотелось иметь возможность выбора размера шрифта, нумерацию строк и подсветку ключевых слов.
Роясь на просторах винта нашёл один старый скриптик. писался он во времена, когда я не признавал ничего кроме fluxbox и консоли. Основное назначение - запись дисков из консоли. Но это не важно.
Вспомнился мне этот скрипт, когда его у себя нашёл потому, что из-за способа обработки парметров, принимаемых скриптом(т.е. -h - помощь, -d - директория и т.д.) пришлось как-то поковырять документацию. В принципе, ничего сложного и всё максимально упрощено, но может кому и пригодится подход.
В самом скрипе используется два подхода - приём команды и приём опций. Ну и плюс для совсем уж новичков - работа с функциями.
Сегодня я хотел бы рассказать о возможных подводных камнях и их обходе при написании скриптов на bash.
Пока комментил предыдущий пост вспомнил о полезной фиче баш - файл дескрипторы, короче баш умеет перенаправлять ввод-вывод команд в специальные файлы, которые можно подсунуть программе.
Проще объяснить на примерах:
Скажем нам нужно сравнить по-быстрому содержимое двух директорий, можно написать мегаскрипт а можно обойтись и одной командой: