Посты в Скрипты на bash
Isquariel 11.06.2012 21:10

Скрипты на bashТренировка: самописная корзина

Опять побеспокою вас своим скриптопейсательством. Написала как бы корзину (я понимаю, что есть уже множество готовых решений). Файлы можно сжимать, а можно и не сжимать (определяется пользователем), все складываются в определённую папку, которая берётся из соответствующей переменной окружения, или складываются в $HOME/recycler, если такая папка не задана. Ну и корзина удаляет файлы, хранящиеся там более времени, заданного в R_TIME, либо, если эта переменная не задана, более 24 часов.

Полностью.
+ 8 -
67
Isquariel 07.06.2012 21:03

Скрипты на bashПереархивируем архивы в папке

В процессе изучения bash пишу программу, которая переархивирует все архивы в архивы заданного типа (с помощью 7zip). Используется как диалоговый режим, так и запуск с параметрами.
Полностью.
+ 4 -
10
fat0troll 13.05.2012 21:45

Скрипты на bashDropbox Autobackuper — автосохранение конфигов

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

Полностью.
+ -2 -
4
fat0troll 26.09.2011 07:54

Скрипты на bashЗабиратор обложек с last.fm

Простой консольный говноскрипт, умеющий лишь одно — забирать с заданного в параметре URL страницы альбома на last.fm (пример) обложку этого самого альбома.
Полностью.
+ 9 -
5
aleteya 05.08.2011 10:33

Скрипты на bashLinux + 2 ISP

Эта тема неоднократно обсасывалась на куче форумов, но всё же.
Часто бывает такая ситуация, что на работе есть два канала - основной и резервный. Основной всем хорош - и широкий, и стабильный, и как вообще. Но и второй канал тоже неплох и обидно, что пользуется только в экстренных случаях.
Полностью.
+ 7 -
28
xT 10.05.2011 21:57

Скрипты на bashСмена обоев в Gnome Shell (Gnome3)

После того как мой арчик обновил гном, отвалились все програмки и скрипты периодические меняющие обои на случайную картинку.

Гугление подсказало, что можно использовать команду
1
gsettings set org.gnome.desktop.background picture-uri "file:///путь/к/файлу/изображения"


Но есть одно но, эта штука отказалась работать через крон.
Кому всё еще интересно - велкам под кат : )

Полностью.
+ 1 -
8
xT 10.05.2011 21:57

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

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

Bash Throbber
Полностью.
+ 16 -
14
vvorth 22.11.2010 08:27

Скрипты на bashКодирование видео в mp4 для мобильных устройств.

Бывают видео, которые можно смотреть вечно.

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

Поэтому наваял такую функцию в .bashrc(можно и в отдельный файл вынести) чтобы автоматически выяснять в какое разрешение нужно изменить размер кадра и где, и на сколько залить оставшееся чёрным, чтобы разрешение видео соотвествовало соотношению сторон экрана, а разрешение полезного кадра оставалось с оригинальным соотношением сторон.
Полностью.
+ 9 -
5
melksoft 21.11.2010 11:17

Скрипты на bashГрузим подкасты из консоли с удобством

Прочитав на welinux пост о hpodder я решил использовать его вместо gpodder. Не хватало только синхронизации с плеером и конвертации в ogg. Тогда я написал эти два скрипта.

Загрузка:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/bash
podcastsf="$HOME/podcasts"
echo "Начата загрузка подкастов"
notify-send "Начата загрузка подкастов" -i music
play -q "$HOME/.say/Начата загрузка подкастов.wav"
hpodder catchup
hpodder fetch
if < "$?" == "0" >; then
	echo "Подкасты загружены"
	notify-send "Подкасты загружены" -i download
	play -q "$HOME/.say/Подкасты загружены.wav"
else
	echo "Ошибка загрузки"
	notify-send "Ошибка загрузки" -i error
	play -q "$HOME/.say/Ошибка загрузки.wav"
exit
fi
echo "Начато конвертирование подкастов"
notify-send "Начато конвертирование подкастов" -i music
play -q "$HOME/.say/Начато конвертирование подкастов.wav"
mp32ogg --delete "$podcastf"
if < "$?" == "0" >; then
	echo "Подкасты сконвертированы"
	notify-send "Подкасты сконвертированы" -i folder-move
else
	echo "Ошибка конвертирования"
	notify-send "Ошибка конвертирования" -i error
	play -q "$HOME/.say/Ошибка конвертирования.wav"
exit
fi
echo "Подкасты загружены и сконвертированы"
notify-send "Подкасты загружены и сконвертированы" -i multimedia-player
play -q "$HOME/.say/Подкасты загружены и сконвертированы.wav"


Синхронизация:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
mv_to="/media/E200/Music/Podcasts"
podcastf="$HOME/podcasts"
echo "Начато перемещение подкастов"
notify-send "Начато перемещение подкастов" -i folder-move
play -q "$HOME/.say/Начато перемещение подкастов.wav"
cd "$podcastf"
find -iname "*.ogg"|while read input_file; do
base_file="$(basename "$input_file")"
echo "Перемещается: $base_file"
mv "$input_file" "$mv_to"
if < "$?" == "0" >; then
	echo "Перемещено: $base_file"
	notify-send "Подкаст перемещен" "$base_file" -i folder-move
else
	echo "Ошибка: $base_file"
	notify-send "Ошибка" "$base_file" -i error
	play -q "$HOME/.say/Ошибка перемещения подкастов.wav"
exit
fi
done
echo "Перемещение подкастов завершено"
notify-send "Перемещение подкастов завершено" -i finish
play -q "$HOME/.say/Перемещение подкастов завершено.wav"

Для начала нужно установить место загрузки в настройках hpodder и оно должно совпадать со значением переменной podcastf.
Wav-файлы сгенерены фестивалем, подумал лучше хранить их на диске, чем каждый раз дергать фестиваль.
Скачать podcast.sh move-podcasts.sh аудиофайлы
Требования: hpodder (для загрузки подкастов), libnotify-bin (для нотификаций), mp32ogg (для конвертации в ogg), sox (для воспроизведения wav)
Полностью.
+ 3 -
0
melksoft 20.11.2010 22:40

Скрипты на bashМой вариант скрипта конвертирования видео для плеера

Тут уже был скрипт конвертирования видео на Perl, я пользуюсь своим вариантом на Bash. Немного быдлокода included.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash
mencoder="-ovc xvid -xvidencopts bitrate=384 -vf scale=320:240 -oac mp3lame -subcp enca:ru:cp1251"
if < "$#" \&gt; "1" >; then
	cd "$1"
	convertf="$2"
else
	cd ~/"Видео"
	convertf="$HOME/converted"
fi
find -iname "*.avi" -o -iname "*.mkv" -o -iname "*.mp4" -o -iname "*.ogv" -o -iname "*.ogm" -o -iname "*.flv" -o -iname "*.wmv" -o -iname "*.mov" -o -iname "*.m4v"| while read input_file; do
	base_file="$(basename "$input_file")"
	echo "$base_file"
	notify-send "Начато конвертирование" "$base_file" -i video
	play -q "$HOME/.say/Начато конвертирование.wav"
	mencoder "$input_file" $mencoder -o "$convertf/${base_file%.*}.avi" -sub "${input_file%.*}.srt"
	if < "$?" == "0" >; then
		rm "$input_file"
		rm "${input_file%.*}.srt"
		notify-send "Видео сконвертировано" "$base_file" -i video
	else
		notify-send "Ошибка конвертирования" "$base_file" -i error
		play -q "$HOME/.say/Ошибка конвертирования.wav"
	fi
	done
find -depth -type d -empty -exec rmdir {} \;
notify-send "Конвертирование завершено" -i video
play -q "$HOME/.say/Конвертирование завершено.wav"


Принимает параметры ./convert.sh где_искать куда_кидать.

Скрипт ищет все видеофайлы в заданной директории, отдает их mencoder'у, пробуя подсунуть ему str-сабы с таким же именем.

Затем удаляет исходное видео, сабы и пустые директории.

Wav-файлы сгенерены фестивалем, подумал лучше хранить их на диске, чем каждый раз дергать фестиваль.

Требует: mencoder (то, чем собственно все конвертится), libnotify-bin (для нотификаций, sox (для воспроизведения wav).
Скачать скрипт аудиофайлы.
Полностью.
+ 4 -
7
1 2 3