Strona 12 z 16

Odp: Przydatne skrypty

: 29 wrz 2010, 14:10
autor: kapat
LukAs pisze:@PTH, fajnie gdybyś to w demona zamienił tak, żeby z automata kopiował pobrany obraz video. Tylko, że flash to takie dziadostwo, że nigdy nie wiadomo jak się zachowa i film może być uszkodzony lub niepełny.



O ile buforowanie nie zostanie przerwane bo z tym to każdy wie jak jest ;) Jakby się człowiek nie starał, to i tak będzie źle.
A próbowaliście np w ten sposób że do skryptu przekazywany jest argument w postaci linku do strony jeśli staus wykonania jest bez błędu = true to flash został już pobrany i można go przekopiować.
Można by wtedy np wget-a użyć, lub curla

Odp: Przydatne skrypty

: 30 wrz 2010, 18:45
autor: outslider
kapat, tylko nie znamy linku do filmiku flash na YT, a byłby potrzebny dla wgeta. On jest chyba jakoś rozwiązywany przez javascript, a tego języka za czorta nie umiem zrozumieć:D Bo link do strony =/= link do filmiku, oczywiście. Wget nie pobiera flasha, jak się mu poda stronę, chyba że znacie jakieś magiczne parametry? Rozmiar manuala mnie przerasta...

Odp: Przydatne skrypty

: 01 paź 2010, 00:09
autor: kapat
outslider pisze:kapat, tylko nie znamy linku do filmiku flash na YT, a byłby potrzebny dla wgeta. On jest chyba jakoś rozwiązywany przez javascript, a tego języka za czorta nie umiem zrozumieć:D Bo link do strony =/= link do filmiku, oczywiście. Wget nie pobiera flasha, jak się mu poda stronę, chyba że znacie jakieś magiczne parametry? Rozmiar manuala mnie przerasta...
Prosze bardzo :) sposbów napewno jest więcej ;)
http://linux.byexamples.com/archives/30 ... m-youtube/
http://www.go2linux.org/wget-to-download-youtube-videos

Odp: Przydatne skrypty

: 01 paź 2010, 03:00
autor: jacekalex

Odp: Przydatne skrypty

: 02 paź 2010, 12:29
autor: outslider
No sposobów w ogóle jest pełno:D Dodatki do Firefoksa są jednym z nich, ale chodziło o skrypt;p Może i jest to odkrywanie koła na nowo, ale jak ktoś chce... Sam chciałem swego czasu.

EDIT:

Zrobiłem prostego demona do automatycznego zasysania plików flash z /tmp, który działa tak:

Podajemy ścieżkę do katalogu wynikowego, do którego będą kopiowane pliki. Program, od momentu włączenia sprawdza co chwilę pierwszy plik Flash*, jaki znajdzie w /tmp i za każdym razem porównuje jego rozmiar z poprzednią wartością. Jeśli plik nie zmienił wielkości, jest kopiowany do katalogu wynikowego a skrypt oczekuje na kolejny plik.

Okres, jaki mija pomiędzy sprawdzeniami (domyślnie: 3 sekundy) można zmienić podając opcję delay=SEKUNDY, gdzie SEKUNDY jest czasem między sprawdzeniami.

Opcja -h wyświetla pomoc.

Kod:

Kod: Zaznacz cały

#!/bin/bash

#flado - flash downloader daemon
#Pawel Tokarz, 2010
#Public Domain

indir="/tmp"
opts=$@
delay="3"

echo $outdir

isdir="0"

for opt in $opts; do
	if [ "$opt" = "-h" ]; then
cat << EOF

flado - flash downloader daemon


UZYCIE:

  flado /path/to/output/dir [delay=DELAY]
  flado -h

  Sciezka      - musi wskazywac na istniejacy katalog.

  delay=DELAY  - ustawia okres sprawdzania zmiany w pliku
                 na DELAY sekund; domyslne: 3;
                 zwykle wystarczy ok 1 - 1.5, dla wolnych
                 polaczen moze byc konieczna wyzsza wartosc.

  -h           - wyswietla ten tekst

AUTOR I LICENCJA:

  Outslider (Pawel Tokarz).
  Skrypt udostepniony w domenie publicznej.
  Nie podejmuje sie jakiejkolwiek odpowiedzialnosci
  za jakiekolwiek straty - uzywasz darmowego programu
  na wlasne ryzyko.

  Zdunska Wola, 2010

EOF
	exit
	fi
done




for opt in $opts; do
	if [ -d $opt ]; then
	    outdir="$opt"
	    isdir="1"
	fi
done
if [ "$isdir" = "0" ]; then
	echo "Nie znaleziono katalogu" >/dev/stderr
	exit 1
    else
	echo "Katalog wyjscia: $outdir"
fi

cd "$outdir"

for opt in $opts; do
	if [ x$(echo $opt|grep "delay=") != "x" ] ; then
	    signs=`echo $opt|wc -c`	
	    delay=`echo $opt|tail -c $(($signs-6))`
	    echo "Okres sprawdzania: $delay sekund"
	fi
done

flashfile=""
sizenow="0"
copied="0"
while true; do
	echo "test..."
	size="$sizenow"
	flashfilenow=`ls $indir|grep -r "^Flash"|head -1`
	sizenow=`cat $indir/$flashfilenow 2>/dev/null|wc -c `
	if [ "$flashfilenow" != "" ]; then
		echo "$flashfilenow: $sizenow bajtow"

		if [ "$sizenow" = "$size" ]; then
			  echo "Zassany! Oczekiwanie na kolejny."
			  newfile=`date +%s`
			  if [ "$copied" = "0" ]; then
				echo "Kopiowanie."
			  	cp "$indir/$flashfilenow" "$newfile"
			  fi
			  copied="1"
			else
			  copied="0"
		fi
	fi



	sleep $delay
done


Czasem zdarza się błąd wielokrotnego kopiowania pliku, który nie zdążył się jeszcze zassać, ale to przy małych delajach.

Do zrobienia jeszcze konwertowanie do jakiegoś formatu i ekstrahowanie mp3 z plików. Ale to mi się nie chce;p

Odp: Przydatne skrypty

: 13 lis 2010, 13:25
autor: LeLo69
Jestem początkującym jeśli chodzi o skrypty :cry:
a chciałbym zrobić skrypt który pomógł by mi zkatalogować moje mp3'ujki na kompie bo mam ich troche i robiąc to recznie zajeło by mi wieki :-P i nie wiem jak się odnieść do tagów w pliku mp3, a niekoniecznie chciałbym się odnosić do nazwy pliku bo rożnie z nimi jest
PROSZĘ O POMOC

Odp: Przydatne skrypty

: 13 lis 2010, 14:54
autor: Foka0111
Przydatny skrypt do uruchomienia Skype'a z pominięciem pulseaudio.
Działa mikrofon przez ALSA.

#!/bin/bash
killall pulseaudio
killall skype
sleep 10
skype &
sleep 30
pulseaudio --start

Czasy są ustawione optymalnie ale zawsze można je pozmieniać.

Teraz robimy aktywator do skryptu,umieszczamy na panelu wybieramy odpowiednią ikonkę i jednym kliknięciem uruchamia się Skype a'la ALSA :-D
Oczywiście można dodać to do autostartu tylko trzeba wyłączyć oryginalne polecenie Skype-wrapper

Odp: Przydatne skrypty

: 13 lis 2010, 17:55
autor: Admc
A jak z plikiem ~/.pulse/client.conf? Domyślnie jest ustawiony autospawn i pulseaudio samo się przeładowuje jak się zawiesi albo zostanie zabite.

Odp: Przydatne skrypty

: 13 lis 2010, 21:10
autor: Foka0111
Zapomniałem dodać,oczywiście przed autospawn musi być # żeby nie restartował automatycznie.
Ważne ,żeby skype uruchamiał się,jak już pulseaudio jest ubity,co czasem trwa (w zależności od sprzętu) dlatego można zwiększyć zwłokę dla skype do np. 15.
U mnie działa wyśmienicie,nawet ikonka skypea (ta niebieska) wyleciała z paska i jest teraz taka ładna , zielona - pod którą kryje się aktywator skryptu :-D
Sporo ludzi,dla których Skype jest bardzo ważnym komunikatorem zaczęło kombinować z wywalaniem pulseaudio,próbami przejścia na Jacka , starymi wersjami Skype a rozwiązanie jest banalne.

Odp: Przydatne skrypty

: 14 lis 2010, 14:31
autor: Admc
Ja bym proponował coś takiego:

Kod: Zaznacz cały

rm -f ~/.pulse/client.conf
echo "autospawn = no" > ~/.pulse/client.conf
Przed startem skryptu, oraz coś takiego

Kod: Zaznacz cały

rm -f ~/.pulse/client.conf
echo "autospawn = yes" > ~/.pulse/client.conf
Po zakończeniu.

Odp: Przydatne skrypty

: 14 lis 2010, 17:12
autor: cichy_
Skrypcik do ściągania wielu plików z wrzuty. Wymaga wget'a zainstalowanego w systemie.
Informacje pobierane są z pliku lista.getwrzuta

getwrzuta.sh

Kod: Zaznacz cały

LISTA="lista.getwrzuta"
IFS=$'\n'
for LINIA in `cat $LISTA`; do
    LOGIN=`echo $LINIA | cut -d'/' -f3|cut -d'.' -f1`
    HASH=`echo $LINIA|cut -d'/' -f5`
    NAZWA=`echo $LINIA|cut -d'/' -f6`
    wget http://$LOGIN.wrzuta.pl/xml/plik/$HASH -O tmp 2> /dev/null
    LINK=`cat tmp|grep fileId|sed 's/<fileId><!\[CDATA\[//' | sed 's/\]\]><\/fileId>//'`
    wget $LINK -O $NAZWA.mp3
done
unset IFS
pisane na kolanie na szybko ale działa :-)

Odp: Przydatne skrypty

: 14 lis 2010, 17:33
autor: Foka0111
Admc pisze:Ja bym proponował coś takiego:

Kod: Zaznacz cały

rm -f ~/.pulse/client.conf
echo "autospawn = no" > ~/.pulse/client.conf
Przed startem skryptu, oraz coś takiego

Kod: Zaznacz cały

rm -f ~/.pulse/client.conf
echo "autospawn = yes" > ~/.pulse/client.conf
Po zakończeniu.

Jeśli dałoby się to zautomatyzować lub dopisać do skryptu to jeszcze lepiej ale to wymaga kilku czynności,a ja naciskam tylko guzik i to wtedy,kiedy niechcący wyłączę skype
Moim zdaniem autospawn można wyłączyć.
Ważne że gadać można i nic się nie krzaczy :ligt:

Odp: Przydatne skrypty

: 18 lis 2010, 09:15
autor: cichy_
Mały przydatny skrypick do moc. Wyświetla jako notify aktualnie grany plik

mocp-notify.sh

Kod: Zaznacz cały

_md5="/tmp/mocp_notify"
while true ; do
	_filename=$(mocp --info | awk '/File/ { wynik = gensub(/^(.*\/)(.*)(\.mp3)$/,"\\2","g"); print wynik; }')
	_md5sum=`echo $_filename | md5sum| cut -d' ' -f1`
	if [ -e $_md5  ] ; then
		touch $_md5
	fi
	_fmd5sum=`cat $_md5|cut -d' ' -f1`
	if [ $_fmd5sum != $_md5sum ] ; then
		notify-send -t 100 "mocp-teraz gra" "$_filename"
	fi
	echo $_md5sum > $_md5
	sleep 1 
done
uruchamianie

Kod: Zaznacz cały

./mocp-notify.sh &

Odp: Przydatne skrypty

: 20 lis 2010, 18:23
autor: B.A.D.
prosty skrypt np. do conky wyświetlający pogodę z serwisu pogodynka.pl

kod skryptu

Kod: Zaznacz cały

#!/bin/bash
w3m -dump http://pogodynka.pl/polska/gdansk_gdansk | grep -A 5 "Teraz" | grep -A 3 "Temperatura" > gdansk
echo "Gdańsk:"
case "$(grep '\[' gdansk | awk '{ print $3 }')" in
  "[0]") echo -e $(grep "Temperatura" gdansk)'\nKierunek wiatru S\n'$(grep "Ciśnienie" gdansk)'\n'$(grep "Sila wiatru" gdansk) ;;
  "[1]") echo -e $(grep "Temperatura" gdansk)'\nKierunek wiatru SW\n'$(grep "Ciśnienie" gdansk)'\n'$(grep "Sila wiatru" gdansk) ;;
  "[2]") echo -e $(grep "Temperatura" gdansk)'\nKierunek wiatru W\n'$(grep "Ciśnienie" gdansk)'\n'$(grep "Sila wiatru" gdansk) ;;
  "[3]") echo -e $(grep "Temperatura" gdansk)'\nKierunek wiatru NW\n'$(grep "Ciśnienie" gdansk)'\n'$(grep "Sila wiatru" gdansk) ;;
  "[4]") echo -e $(grep "Temperatura" gdansk)'\nKierunek wiatru N\n'$(grep "Ciśnienie" gdansk)'\n'$(grep "Sila wiatru" gdansk) ;;
  "[5]") echo -e $(grep "Temperatura" gdansk)'\nKierunek wiatru NE\n'$(grep "Ciśnienie" gdansk)'\n'$(grep "Sila wiatru" gdansk) ;;
  "[6]") echo -e $(grep "Temperatura" gdansk)'\nKierunek wiatru E\n'$(grep "Ciśnienie" gdansk)'\n'$(grep "Sila wiatru" gdansk) ;;
  "[7]") echo -e $(grep "Temperatura" gdansk)'\nKierunek wiatru SE\n'$(grep "Ciśnienie" gdansk)'\n'$(grep "Sila wiatru" gdansk) ;;
  *) echo 'Błąd!' ;;
esac
plik z danymi ze strony (w moim przypadku gdansk)

Kod: Zaznacz cały

Temperatura      5 °C
Kierunek wiatru  [4]
Ciśnienie        1009 hPa
Sila wiatru      3 m/s
byłbym wdzięczny za drobną pomoc, wiem że można go trochę przerobić na prostszy, chociażby przez zastosowanie grep -f <plik ze wzorami> ale chciałbym żeby wypisywało mi informacje jedna pod drugą a nie potrafię wstawić enterów po każdym patternie który się wyszuka:) Szybkość działania też pozostawia wiele do życzenia ale nie jest najgorzej:)

Odp: Przydatne skrypty

: 21 lis 2010, 11:44
autor: cichy_
zobacz sobie na taką wersję

Kod: Zaznacz cały

#!/bin/bash
miasto="Koszalin"
w3m -dump http://pogodynka.pl/polska/${miasto}_${miasto} | grep -A 5 "Teraz" | grep -A 3 "Temperatura" > tmp
echo "$miasto"
kierunki=("S" "SW" "W" "NW" "N" "NE" "E" "SE")
kierunek=`grep Kierunek tmp|sed 's/\(.*\)\([0-7]\)\(.*\)/\2/g'`
sed_cmd="s/\[$kierunek\]/${kierunki[$kierunek]}/"
cat tmp | sed ''$sed_cmd''
rm tmp
zawsze to pare linijek mniej :-)

Odp: Przydatne skrypty

: 22 lis 2010, 02:00
autor: B.A.D.
zawsze warto nauczyć się czegoś pożytecznego:) pierwsze słyszę o edytorze sed ale właśnie czytam z zainteresowaniem dokumentację i wymyślam nowe skrypty do mojego conky:) dzięki wielkie!!

EDIT
kolejny skrypt do conky wyświetlający nowości z serwisu komputerswiat.pl

Kod: Zaznacz cały

#!/bin/bash
w3m -dump http://www.komputerswiat.pl/ | grep -A 2 "• [0-9][0-9]:[0-9][0-9]" > rss
sed -i -e '/^$/d' rss && sed -i -e '/[-•]/d' rss && sed -i -e 's/    /  • /' rss
cat rss
rm rss

Odp: Przydatne skrypty

: 27 lis 2010, 13:36
autor: LukAs
1. Kreator galerii internetowej dla usługi dropbox z wykorzystaniem javascriptowego projektu GreyBox.

Kreator Galerii GreyBox (GreyBox Gallery - ENG) wer. 0.5.1

Kod: Zaznacz cały

#!/bin/bash
## Kreator Galeri GreyBox - wer. 0.5.1
## Autor: lukas
## Kontakt: luka.poland@gmail.com
## Licencja: GPL v3

## Language.
case $LANG in
  
	pl*)
	scripts_name='Kreator Galerii GreyBox'
	album_name_text='Nazwa Nowego Albumu?'
	photo_gallery='Galeria Zdjęć'
	dropbox_error='Błąd!!!'
	dropbox_error_text='Usługa "Dropbox" nie jest włączona lub nie odpowiada.'
	dropbox_error_text2='Aby utworzyć galerię należy przejść do podkatlogu "Public"'
	greybox_warning='Brak wymaganego oprogramowania!!!'
	greybox_text='Nie znaleziono GreyBox JavaScript.'
	soft_error='Do działania skryptu niezbędny jest program'
	soft_error2='Można go zainstalować wpisując w terminalu:'
	error_dir="Nie można utworzyć katalogu"
	error_dir2="Proszę użyć innej nazwy, ponieważ katalog o takiej nazwie już istnieje."
	notification='Link do galerii'
	notification2='skopiowano do schowka.'
	compres_from='#Konwersja z:'
	compres_to='Do:'
	window_progress='Postęp konwersji'
	download='Pobierz'
	gallery='Galerię'
	;;

	*)
	scripts_name='GreyBox Gallery'
	album_name_text='New album name?'
	photo_gallery='Photo Gallery'
	dropbox_error='Error!!!'
	dropbox_error_text='Dropbox service is not enabled or not responding.'
	dropbox_error_text2='To create a gallery, go to the subdirectory of "Public"'
	greybox_warning='No software!!!'
	greybox_text='GreyBox JavaScript Not Found.'
	soft_error='Not Found program'
	soft_error2='You can install this program in the terminal:'
	error_dir="You can't create directory"
	error_dir2="This name is already used in this directory.\nPlease use a different name."
	notification='Link to the gallery'
	notification2='copied to the clipboard.'
	compres_from='#From:'
	compres_to='To:'
	window_progress='Conversion progress'
	download='Download'
	gallery='Gallery'
	;;

esac

##PL   Skrypt działa poprawnie tylko w katalogu Public. Jeśli grep nie znajdzie w ścieżce (pwd) ciągu znaków 'Dropbox/Public', powłoka zwróci kod różny od zera.
##ENG  The script works correctly only in the directory Public.
pwd | grep -q 'Dropbox/Public' \
  || { zenity --error --title="$scripts_name" --text="\n$dropbox_error\n\n$dropbox_error_text2" ; exit 1 ; }

## Sprawdzanie zależności. Dependency checking.
##PL   which - wyświetla ścieżkę do podanego programu. Zwraca wartość True (kod zakończenia polecenia = 0) jeśli pęłna ścieżka do progrmu istnieje.
##ENG  which - locate a command. Returns True (0) if the full path to the program exists.
for SOFT in xsel dropbox jhead convert
do

 which "$SOFT" 1> /dev/null \
   || { 
		echo "$SOFT" | grep dropbox && SOFT='nautilus-dropbox' ;
		echo "$SOFT" | grep convert && SOFT='imagemagick' ;
		zenity --warning --title="$scripts_name" --text="$soft_error \"$SOFT\"\n$soft_error2\n\nsudo apt-get install $SOFT" ;
		exit 1 ;
	}

done

##PL   pidof - wyszukuje identyfikatory procesów (PID-y) wskazanych programów. Zwraca wartość True (kod zakończenia polecenia = 0) jeśli usługa DropBox jest urychomiona.
##ENG  pidof - finds  the  process id's (pids) of the named programs. Returns True (0) if the Dropbox is running.
pidof dropbox 1> /dev/null \
  || { zenity --error --title="$scripts_name" --text="\n$dropbox_error\n\n$dropbox_error_text" ; exit 1 ; }

##PL   Nazwa Albumu dla Galerii.
##ENG  Album name for Web Gallery.
GALLERY_NAME=$( zenity --width="300" --entry  --title="$scripts_name" --text="$album_name_text" ) ; [ "$?" != 0 ] && exit 1
 
 if [ -z "$GALLERY_NAME" ]
 then
	GALLERY_NAME="$(date +%d.%m.%Y)"
 fi

 if [ ! -d "$GALLERY_NAME" ]
 then
	mkdir -p "$GALLERY_NAME"
 else
	zenity --error --title="$scripts_name" --text="$error_dir \"$GALLERY_NAME\".\n\n$error_dir2"
	exit 1
 fi

##PL   Kopiowanie GreyBox JavaScript do nowo utworzonej Galerii.
##ENG  GreyBox JavaScript copy to the new gallery.
cp -r ~/.greybox_gallery/greybox "$GALLERY_NAME" \
  || { zenity --warning --title="$scripts_name" --text="\n$greybox_warning\n\n$greybox_text" ; }

##Osadzony dokument DOCTYPE
cat > "$GALLERY_NAME/$GALLERY_NAME.html" <<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>$GALLERY_NAME</title>

<!--// GreyBox Gallery //-->
<script type="text/javascript">
   var GB_ROOT_DIR = "./greybox/";
</script>

<script type="text/javascript" src="greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/gb_scripts.js"></script>
<link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/javascript" src="static_files/help.js"></script>
 
<style type="text/css">

* { margin: 0; padding: 0 }

body {
	width: 1000px;
	margin: 0 auto;
	background-color: #404040;
	font: Arial, Verdana, sans-serif;
}

h3 {
	margin: 10px 5px 10px 5px;
	font: 110% "Trebuchet MS", Tahoma, Arial;
	color: #e77a2a;
	font-size: 24px;
}

#greybox img {
	float: left;
	width: 242px;
	height: 180px;
	margin: 4px 4px 4px 4px;
	border: 0;
	text-align: center;
}

#clear {
	clear: both;
}

#space {
	margin-top: 35px;
}

#autor {
	position: fixed;
	right: 15px;
	bottom: 10px;
	color: white;
}

#nav {
	position: fixed;
	left: 15px;
	bottom: 10px;
	color: white;
}

a {
	color: #e77a2a;
	text-decoration: none;
}	

a:hover {
	text-decoration: underline;
}

</style>
</head>

<body>
<h3>$photo_gallery: $GALLERY_NAME</h3>

<div id="greybox">
EOF

##PL Konwersja zdjęć, tworzenie galerii i archiwum.
##ENG  Conversion photo, Create galleries and Creating archives. 
NUMBER_OF_PHOTO=`file -b "$@" | grep -c ?*P.G`
INCREMENT=$( echo "scale=3 ; (100/$NUMBER_OF_PHOTO)" | bc )
PROGRESS=0
NUMBER_OF_NEW_PHOTO=1

(for PHOTO in "$@"
do
  
 file -b "$PHOTO" | grep -q ?*P.G \
  && { echo "$compres_from  $PHOTO  $compres_to  $GALLERY_NAME ""$NUMBER_OF_NEW_PHOTO.jpg  ($NUMBER_OF_PHOTO)" ;
   
   convert "$PHOTO" -resize 800x512 -quality 85 "$GALLERY_NAME/$GALLERY_NAME ""$NUMBER_OF_NEW_PHOTO.jpg" ;
   jhead -autorot "$GALLERY_NAME/$GALLERY_NAME ""$NUMBER_OF_NEW_PHOTO.jpg" ;
   
   PUB_URL=$( dropbox puburl "$GALLERY_NAME/$GALLERY_NAME ""$NUMBER_OF_NEW_PHOTO.jpg" ) ;
   echo -e '<a href='\""$PUB_URL"\" rel=\"gb_imageset[nice_pics]\" title=\""$GALLERY_NAME"\"'><img src='\""$PUB_URL"\" '/></a>' >> "$GALLERY_NAME/$GALLERY_NAME.html" ;

   PROGRESS=$( echo "scale=3 ; ($PROGRESS+$INCREMENT)" | bc ) ;
   NUMBER_OF_NEW_PHOTO=$[NUMBER_OF_NEW_PHOTO + 1] ;
	
	echo "$PROGRESS" ; }
done
) | zenity --width=250 --height=100 --title="$window_progress" --progress --auto-close

##PL   Tworzenie archiwum.
##ENG  Create an archive.
zip -r "$GALLERY_NAME/$GALLERY_NAME.zip" "$@"
PUB_URL_ZIP=$( dropbox puburl "$GALLERY_NAME/$GALLERY_NAME.zip" )

##PL   Schowek systemowy.
##ENG  Clipboard.
PUB_URL=$( dropbox puburl "$GALLERY_NAME/$GALLERY_NAME.html" )
echo "$PUB_URL" | xsel -i -b

cat >> "$GALLERY_NAME/$GALLERY_NAME.html" <<EOF
</div>
<div id="clear"></div><div id="space"></div>

<!-- Proszę nie usuwać! Pozwól Autorowi się rozwijać ;) -->
<div id="autor" style="font-size: 12px">Copyright &copy; by:<a style="margin-left: 8px" href="http://ospulse.pl">OSpulse.pl</a></div>
<div id="nav" style="font-size: 12px">$download<a style="margin-left: 8px" href="$PUB_URL_ZIP">$gallery</a></div>

</body>
</html>
EOF

#Notifications
notify-send -t 2500 -i dialog-apply "$notification \"$GALLERY_NAME\"" "$notification2"
Przykładowa GALERIA.
Paczka do pobrania, program Install i więcej informacji na stronie OSpulse.pl lub na GNOME-LOOK.ORG.

Wymaga:
  1. Skrypt Kreator Galerii GreyBox (GreyBox Gallery - ENG)
  2. GreyBox
  3. Oprogramowania: xsel jhead imagemagick notify-osd nautilus-dropbox
Update 20.04.2011.

- dodano język ENG (dostępne PL, ENG)
- dodano kopiowanie adresu galerii do schowka systemowego.
- sprawdzanie zależności.
- komunikaty błędów/ostrzeżeń.
- poprawiono czytelność kodu + komentarze.

2. Przypominacz, to programu skryptowego, którym można usuwać stare zadania lub dodawać nowe. W wersji 0.2 dostępny jest syntezator mowy Milena i możliwość włączania lub wyłączania powiadomień dźwiękowych.

Program skryptowy Przypominacz

Kod: Zaznacz cały

#!/bin/bash
## Autor: lukas
## Kontakt: luka.poland@gmail.com
## Licencja: GPL v3

CFG="$HOME/Usługi/przypominacz.cfg"
SOUND="$( grep 'sound' "$HOME/Usługi/przypominacz.cfg" | awk '{print $2}' )"

echo "$SOUND" | grep -q 'Wł' \
	&& STAN=TRUE \
	|| STAN=FALSE

MENU=$( zenity --width="290" --height="210" --title="Przypominacz" --text="Zaznacz opcje z poniższej listy" --list --checklist --column="Wybór" --column="Opcje" --column="Stan" \
	"$STAN" "Dzwięk przypomnienia" "${SOUND}." \
	FALSE "Kasuj przypomnienia" "Opt." \
	FALSE "Dodaj nowe zadanie" "Opt." )
	[ "$?" = 1 ] && exit 1

echo "$MENU" | grep -q "Dzwięk przypomnienia" \
	&& grep 'sound' "$CFG" | sed -i "s:Wył:Wł:g" "$CFG" \
	|| grep 'sound' "$CFG" | sed -i "s:Wł:Wył:g" "$CFG"

echo "$MENU" | grep -q "Kasuj przypomnienia" \
	&& rm ~/Usługi/przypomnienia.txt

echo "$MENU" | grep -q "Dodaj nowe zadanie" \
	&& (
	NOWE_ZADANIE=$(zenity --entry --title="Przypominacz" --text="Dodać nowe zadanie?" --entry-text="$(date +%H:%M)	Nowe zadanie.")
	echo "$NOWE_ZADANIE" >> ~/Usługi/przypomnienia.txt
	)
Demon usługa_przypomnienia

Kod: Zaznacz cały

#!/bin/bash
## Przypominacz 0.2
## Autor: lukas
## Kontakt: luka.poland@gmail.com
## Licencja: GPL v3

notify-send -i dialog-apply -t 5000 "Włączono przypomnienia!" ; milena_say "Włączono przypomnienia! $USER"

while (( 1 ))
do
	cat ~/Usługi/przypomnienia.txt | \
	while read line
	do
		realization_time=$( echo "$line" | awk '{print $1}' )
		actual_time=$(date +%H:%M)
		sound="$( grep 'sound' "$HOME/Usługi/przypominacz.cfg" | awk '{print $2}' )"
 
		case $actual_time in
		   "$realization_time") notify-send -i dialog-apply -t 5000 "$line"

					echo "$sound" | grep -q 'Wł' \
					&& milena_say -H "$line"
		   ;;
		esac

	done
 
sleep 59
done
Paczka do pobrania, program Install i więcej informacji na stronie OSpulse.pl

Odp: Przydatne skrypty

: 03 gru 2010, 01:17
autor: borzole
LeLo69

chciałbym zrobić skrypt który pomógł by mi zkatalogować moje mp3'ujki na kompie bo mam ich troche i robiąc to recznie zajeło by mi wieki i nie wiem jak się odnieść do tagów w pliku mp3
Mam taki. Może działać jako klikalny nautilus-scripts lub z konsoli:
http://borzole.googlecode.com/hg/nautil ... -by-id3.sh (repo)

Odp: Przydatne skrypty

: 06 gru 2010, 22:17
autor: B.A.D.
wracając do tematu katalogowania,

Kod: Zaznacz cały

#!/bin/bash
echo "** $1" >> LISTA
for f in "$1"/**; do
id3info "$f" > tag
egrep -w 'TPE1|TRCK|TALB|TIT2|TYER' tag > tmp
sed -i 's/=== T....(.*): //' tmp
sed ':a;N;$!ba;s/\n/-/g' tmp >> LISTA
done
echo >> LISTA
rm tag tmp
jako argument wpisuję oczywiście nazwę folderu z muzyką, tyle że muszę podać katalog który zawiera pliki mp3, nie przechodzi mi rekursywnie do podkatalogów w poszukiwaniu tych plików myślałem nad stworzeniem listy podkatalogów w sposób:

Kod: Zaznacz cały

ls -R ~/Muzyka | grep / | sed 's/:/\//;s/ /\\ /g'
przy okazji usuwając spacje ale teraz nie bardzo wiem jak taką listę wrzucić np do fora żeby skrypt przeglądał każdy folder po kolei. Poza tym to metoda trochę siłowa bo przeglądamy również puste foldery nadrzędne. Proszę o pomoc:)
EDIT:
Plus dla zainteresowanych dwa deamony:
1. Sprawdzanie poczty GMail

Kod: Zaznacz cały

#!/bin/bash
gmail_login="login" #login do skrzyki
gmail_password="haslo" #hasło do konta
while (( 1 ))
do
dane="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - \
https://${gmail_login}:${gmail_password}@mail.google.com/mail/feed/atom \
--no-check-certificate | grep 'fullcount' \
| sed -e 's/.*<fullcount>//;s/<\/fullcount>.*//' 2>/dev/null)"

if [ -z "$dane" ]; then
notify-send -i dialog-apply -t 5000 "GMail: Błąd połączenia"
else
if [ "$dane" != "0" ]; then
notify-send -i dialog-apply -t 5000 "GMail: $dane list(ów)"
fi
fi
sleep 100
done
2. Sprawdzanie dostępności aktualizacji systemu

Kod: Zaznacz cały

#!/bin/bash
while (( 1 )) 
do
if [ -s /var/log/upgrades.log ] ; then
notify-send -i dialog-apply -t 5000 "Aktualizacje gotowe!!"
fi
sleep 600
done

Odp: Przydatne skrypty

: 06 gru 2010, 22:39
autor: borzole
@B.A.D.
* operator ** występuje dopiero w bash4 i jest domyślnie wyłączony, musisz go włączyć na początku skryptu:

Kod: Zaznacz cały

shopt -s globstar
* zamiast używać for, zerknij na to

http://forum.fedora.pl/index.php?/topic ... _p__145779
i to
viewtopic.php?p=792078#p792078