Посты с тегом bash
ananas 10.05.2011 21:57

Tips & tricksАналог atexit на bash

при очередной оптимизации задумался, а как реализовать аналог atexit в шеловских скриптах. перехват SIGTERM, SIGINT не всегда срабатывал, да и выглядел неспортивно. помогло чтение man bash. итак

1
2
3
4
5
6
7
8
9
#! /bin/bash
...
function atexit () {
echo "exiting"
}
...
trap atexit EXIT
...
exit 0



при выходе из скрипта выведется "exiting". ну а что напихать в сам скрипт и конкретную функцию - решайте сами

+ 14 -
5
xT 10.05.2011 21:57

Скрипты на bashТроббер для длительных операций

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

Bash Throbber
Полностью.
+ 16 -
14
ananas 10.05.2011 21:57

СкриптыЗагрузка изображений в Picasaweb

Пробегал тут недавно обзор программ для просмотра изображений. Viewnior оказался тем, что нужно, так как умеет передавать изображения во внешние программы. Давно хотел подобную фичу к gpicview прикрутить, а тут уже все готово.

Теперь осталось приделать возможность отсылки фоток в вебальбом, и все будет полностью в шоколаде.
Полностью.
+ 7 -
18
Vcoder 27.04.2011 17:04

Я рекомендуюМешок банальных советов

Приличная подборка советов, касающихся работы в консоли и написания скриптов.

(Ахтунг! Ссылка на хабр! Я предупредил, если что.)
Полностью.
+ 4 -
24
jungo 08.04.2011 13:24

Я рекомендуюБэкапим систему, используя rsync.

Давно написал скрипт для инкрементального бэкапа системы на другой жесткий диск с помощью rsync. Скрипт простой, принимает лишь один аргумент - что будем бекапить: root, home или базу данных pacman. Можно очень просто добавить свои цели для бекапа.
Для изменения под себя, надо просто указать, где лежит файл исключений (те директории и файлы, которые не надо сохранять), где лежит лог-файл, и, конечно же, директорию для создания резервной копии системы.
Полностью.
+ 17 -
5
Dark_SS 05.04.2011 21:00

Tips & tricksОптимизируем процесс работы в консоли

Возможно, баян.
Чтобы очищать текст до или после курсора используются комбинации клавиш: «Ctrl+K» — удаление текста от текущей позиции курсора до конца строки, а «Ctrl+U» — до начала строки. Ну и наконец, по «Ctrl+C» можно удалить сразу всю строку.
Можно удалять сразу слова: «Ctrl+W» удаляет слово слева от курсора, «Alt+D» — справа. Но удаленные слова еще и помещаются в буфер, последнее удаленное слово можно вставить начиная с текущего положения курсора по комбинации «Ctrl+Y».
Часто в спешке можно набрать 2 символа в не правильной последовательности: в этом случае удобно воспользоваться комбинацией клавиш «Ctrl+T», которая предназначена для замены местами символа до курсора и символа под курсором.

Это и многое другое по ссылке.

Памятка от тов. narical:

CTRL+R - вводишь слово, с которым надо найти команду в истории. Повторные CTRL+R перебирают все команды в истории с этим словом.

CTRL+L - очистка экрана. Я обычно писал набирал clear > для этого.

CTRL+A - альтернатива HOME, CTRL+E - end

CTRL+U - удаление текста от курсора до начала строки, CTRL+K - удаление от курсора до конца строки, CTRL+Y - вставить удаленный предыдущими примерами кусок текста, CTRL+C - удаление всей строки (обычно работает как отмена команды).

CTRL+T - меняет местами символ под курсором и предыдущий набранный (при опечатке вида /dev/dsa вместо /dev/sda).

^^ - нет это не смайлик. После попытки выполнить команду, набранную с ошибкой, строка вида ^ошибка^правильно запустит на выполнение исправленную команду.

# - если вместо набранной команды надо сначала выполнить другую, можно закомментировать строку и нажать <enter>, впоследствии вернуться к команде в истории, раскомментировать и выполнить.

ALT+. - подставляет к текущей команде аргумент предыдущей. Например, чтобы после команды ls <длинный путь> не набирать этот путь для перехода в директорию, можно набрать cd + «Alt+.» + «ENTER»

Добавляем в ~/.inputrc строчки:

"\e
"\e


Теперь для поиска команды в истории достаточно ввести первые буквы и перебирать варианты стрелками вверх/вниз.sudo !! - выполнить предыдущую команду через sudo.

Работу с хистори и настройка окружения (для постоянного использования добавить в .bashrc)

Ведение лога истории с datestamp'ом:
1
export HISTTIMEFORMAT='%F %T '


Занесение команды в .bash_history сразу же, после нажатия enter (а не после завершения сеанса), что весьма удобно при одновременной работе в нескольких сессиях:
PROMPT_COMMAND='history -a;history -n'


Удобная настройка PS1 (чтобы было видно и юзера/хост и желательно дату и время <у меня некоторые сессии висят неделями>)
1
export PS1='\033<00;32m\><`date +%d" "%h" "%Y" "%T`> \u@\h \w\n \$\<\033<00m\> '


Увеличение размера хистори (при активной работе 500 — это очень мало)
1
export HISTSIZE=100500


Говорим башу не заносить в хистори повторяющиеся друг за другом команды:
1
export HISTCONTROL=ignoredups


Отключаем занесение «бесполезных» с точки зрения истории команд:
1
export HISTIGNORE="&:ls:<bf>g:exit:< >*:ssh:history"</bf>


Используем "сокращения" для популярных комманд:
1
2
3
alias u='sudo pacman -Syu'
alias extmonitor='xrandr --output VGA1 --auto --primary && xrandr --rate 72 && xrandr --output LVDS1 --off'
alias intmonitor='xrandr --output LVDS1 --auto --primary && xrandr --output VGA1 --off'
Полностью.
+ 8 -
6
Vcoder 05.04.2011 20:23

СкриптыКонвертация и разделение CUE + APE в MP3

Дано: есть несколько альбомов, видимо сграбленных какой-то программой, когда все песни с диска находятся в одном большом аудиофайле, а разметка по времени и названиям песен хранится в отдельном файле с расширением "CUE". Причём звуковой файл имеет расширение "APE" - формат Monkey's audio.

Задача: преобразовать это дело в привычные .mp3, чтобы неискушённые пользователи могли слушать музыку в своих любимых плеерах.

Вначале я попытался использовать имеющиеся инструменты, в том числе и советуемые на welinux.
mp3splt выводит имена дорожек кракозябрами, при нажатии на "пуск" выдаёт ошибку "не найден файл '' ".
gCue2tracks 5 раз говорит "неизвестный формат", после чего намертво виснет.
shntool также говорит "неизвестный формат входного файла".
Здесь для работы с форматом .ape советуют установить пакет "monkeys-audio", но в убунте 10.10 его нет.
В то же время audacious, totem, VLC, mplayer этот .ape файл играют без каких-либо затруднений.

Тут я понял, что придётся делать самому. Далее приведены пара скриптов, решающие поставленную задачу. Буду рад, если они упростят жизнь кому-нибудь ещё.
Полностью.
+ 6 -
24
rufus 25.03.2011 18:40

Скриптыtorrent tracker в домашних условиях

На хабре есть пост на эту тему "Переводим раздачу контента на BitTorrent", но там не учтено, что сервер может быть без выделенного ip и веб-сервера.
Полностью.
+ 4 -
41
alxrt 24.03.2011 11:01

СкриптыПолучение прямых ссылок на видео вконтакте

Что-то никак не получается прекратить писать скрипты.
На этот раз выкладываю порождение дзен-магии, тормознутого фаербага и безумной вакханалии regexp-ов.
Этот скрипт умеет получать прямые ссылки на видеофайлы на основе переданного ему url-а.
Полностью.
+ 6 -
13
alxrt 23.03.2011 10:38

СкриптыПолучение торрентов с rutracker.org

Еще один скриптик для получения данных.
На данный момент реализовано только получение torrent-файлов по идентификатору топика, но в планах есть и получение описания, и выполнение запросов на поиск с сортировкой и выборкой данных.

UPD: Поправил пару косяков, связанных с разными доменными именами у разных трекеров.
Полностью.
+ 7 -
18
1 2 3 4 5 6 7 8 16 17