Przydatne skrypty
- ubuproblem
- Serdeczny Borsuk
- Posty: 169
- Rejestracja: 30 lip 2007, 23:26
- Płeć: Mężczyzna
- Wersja Ubuntu: 8.04
- Środowisko graficzne: GNOME
Odp: Przydatne skrypty
Można to też zastosowania do Wine, chociaż z drugiej strony, jak ktoś włączy mały programik przez Wine, to bez potrzeby będzie musiał czekać na restart Compiza
- mk_cafe
- Piegowaty Guziec
- Posty: 7
- Rejestracja: 26 cze 2008, 16:59
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: GNOME
- Kontakt:
Odp: Przydatne skrypty
Kod: Zaznacz cały
#!/bin/bash
#Autor: Rupek (male zmiany: mk_cafe)
############################### FUNKCJE #####################################################
jeden ()
{
wej=`zenity --file-selection --title="Wybierz plik mp3 do konwersji"`
if [ "$?" = 1 ] ; then
exit
fi
temp=`echo "$wej" | sed 's/ /_/g'`
temp=`basename $temp`
temp=`echo "$temp" | sed 's/_/ /g'`
wyj="$HOME/Desktop/mp3conv/$temp"
lame --mp3input -m m -V 5 "$wej" "$wyj" | zenity --progress --auto-close --text="Proszę czekać
Trwa konwersja plików"
#przywracamy tagi
artist=`id3ed -i "$wej" | grep artist | sed 's/artist: //'`
songname=`id3ed -i "$wej" | grep songname | sed 's/songname: //'`
album=`id3ed -i "$wej" | grep album | sed 's/album: //'`
year=`id3ed -i "$wej" | grep year | sed 's/year: //'`
comment=`id3ed -i "$wej" | grep comment | sed 's/comment: //'`
tracknum=`id3ed -i "$wej" | grep tracknum | sed 's/tracknum: //'`
genre=`id3ed -i "$wej" | grep genre | sed 's/genre: //'`
genre=`echo "$genre" | sed 's/(.*)//'` #wywalamy nawias z numerem gatunku
id3ed -s "$songname" -n "$artist" -a "$album" -y "$year" -c "$comment" -k "$tracknum" -g "$genre" -q "$wyj"
zenity --info --text="Konwersja zakończona pomyślnie."
}
wszystkie ()
{
dir=`zenity --file-selection --directory --title="Wybierz folder z mp3 do konwersji"`
for i in "$dir/"*.mp3
do temp=`echo "$i" | sed 's/ /_/g'`
temp=`basename $temp`
temp=`echo "$temp" | sed 's/_/ /g'`
wyj="$HOME/Desktop/mp3conv/$temp"
lame --mp3input -m m -V 5 "$i" "$wyj"
artist=`id3ed -i "$i" | grep artist | sed 's/artist: //'`
songname=`id3ed -i "$i" | grep songname | sed 's/songname: //'`
album=`id3ed -i "$i" | grep album | sed 's/album: //'`
year=`id3ed -i "$i" | grep year | sed 's/year: //'`
comment=`id3ed -i "$i" | grep comment | sed 's/comment: //'`
tracknum=`id3ed -i "$i" | grep tracknum | sed 's/tracknum: //'`
genre=`id3ed -i "$i" | grep genre | sed 's/genre: //'`
genre=`echo "$genre" | sed 's/(.*)//'`
id3ed -s "$songname" -n "$artist" -a "$album" -y "$year" -c "$comment" -k "$tracknum" -g "$genre" -q "$wyj"
done | zenity --progress --auto-close --text="Proszę czekać
Trwa konwersja plików"
zenity --info --text="Konwersja zakończona pomyślnie."
}
############################################################################################
##################################### OKNO GŁÓWNE #########################################
if [ -x /usr/bin/lame ]
then
zenity --info --text="Program wykorzystuje do konwersji program Lame "
else
zenity --error --text="Nie masz zainstalowanego programu Lame
Użyj programu synaptic, apt-get lub innego menagera plików do jego zainstalowania"
exit
fi
wybor=`zenity --list --title "Wybór rodzaju konwersji" --text "Poniżej masz listę dostępnych
rodzajów konwersji" --radiolist --column "" --column "Dostępny bitrate" FALSE "Pojedyńczy plik mp3" FALSE "Wszystkie pliki mp3 w folderze" TRUE "Zakończ działanie programu"`
mkdir ~/Desktop/mp3conv #tworzy katalog, w ktorym znajda sie skompresowane pliki
case "$wybor" in
"Pojedyńczy plik mp3") jeden ;;
"Wszystkie pliki mp3 w folderze") wszystkie ;;
"Zakończ działanie programu") exit ;;
*) zenity --error --text "Nic nie wybrałeś. Spróbuj ponownie"
esac
- ubuproblem
- Serdeczny Borsuk
- Posty: 169
- Rejestracja: 30 lip 2007, 23:26
- Płeć: Mężczyzna
- Wersja Ubuntu: 8.04
- Środowisko graficzne: GNOME
Odp: Przydatne skrypty
Kod: Zaznacz cały
#!/bin/bash
cd ~
if [ -e ./ISO ]
then
echo -n
else
mkdir ./ISO
fi
sciezka="`pwd`/ISO"
if [ -e "$1" ]
then
echo "#!/bin/sh
mount -o loop \"$1\" \"$sciezka\"" > tmp
gksu sh tmp
rm tmp
else
plik=`zenity --title "Wybierz plik do zamontowania." --file-selection`
echo "#!/bin/sh
mount -o loop \"$plik\" \"$sciezka\"" > tmp
gksudo sh tmp
rm tmp
fi
stworzyć plik giso, najlepiej w folderze domowym
nadać mu prawa do wykonywalności:
Kod: Zaznacz cały
chmod +x giso
Kod: Zaznacz cały
cp ./giso /usr/bin/giso
Później dwuklik na obraz spowoduje od razu zamontowanie obrazu (oczywiście pojawi się jeszcze proźba o podanie hasła). Można też wpisać poprostu giso w terminalu. Wtedy pojawi się okno wyboru pliku do zamontowania.
Piszcie, jak się komuś przyda, to zrobię też dla KDE
-
- Serdeczny Borsuk
- Posty: 186
- Rejestracja: 12 paź 2007, 21:09
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: Inne
- Architektura: x86
- Kontakt:
Odp: Przydatne skrypty
- ubuproblem
- Serdeczny Borsuk
- Posty: 169
- Rejestracja: 30 lip 2007, 23:26
- Płeć: Mężczyzna
- Wersja Ubuntu: 8.04
- Środowisko graficzne: GNOME
Odp: Przydatne skrypty
Skrypt odlicz czas i po odliczeniu wykonuje czynność, którą sobie zażyczymy. W menu głównym programu wszystko można sobie ustawić
Kod: Zaznacz cały
#!/bin/bash
clear
echo "Witaj w tekstowym wyłączniku."
echo "Wprowadź liczbę minut do odliczenia."
echo -n "> "
read ileminut
ilesekund=$[$ileminut*60]
echo "Odliczanie będzie trwało $ilesekund sekund."
function list
{
case "$1" in
a)
clear
echo "1) Czas: $ilesekund sek. ($ileminut min.) - zmień."
echo "2) Po zakończeniu: $pozak"
echo "3) Rozpocznij odliczanie."
echo "4) Zakończ"
echo -n "> "
read menu
case "$menu" in
1)
echo
echo "Wprowadź nowy czas"
echo -n
read ileminut
ilesekund=$[$ileminut*60]
list a
;;
2)
list b
list a
;;
3)
dodaj
list a
;;
4)
clear
exit 0
;;
*)
clear
echo "Błędny wybór..."
sleep 2
list a
esac
;;
b)
echo "1) Wyłącz komputer"
echo "2) Uruchom ponownie"
echo "3) Wykonaj polecenie"
echo
echo -n "> "
echo
read poz
case "$poz" in
1)
pozak1="shutdown -h now"
pozak="Wyłączenie komputera"
;;
2)
pozak1="shutdown -r now"
pozak="Ponowne uruchomienie komputera"
;;
3)
echo "Wprowadź dowolne polecenie systemowe."
echo -n "> "
read pozak1
pozak="Polecenie systemowe: $pozak1"
;;
esac
;;
esac
}
function pokaz
{
clear
echo "Pozostało odliczania: $ilesekteraz sek. / $ilesekund sek. ($ileminut min.)"
dodaj
}
function dodaj
{
if [ "$ilesekteraz" = "$ilesekund" ]
then
$pozak1
else
if [ "$juz" = "tak" ]
then
sleep 1
ilesekteraz1=$[$ilesekteraz+1]
ilesekteraz=$ilesekteraz1
pokaz
else
juz=tak
pokaz
fi
fi
}
list a
- youlleck
- Sędziwy Jeż
- Posty: 62
- Rejestracja: 01 lut 2008, 00:19
- Płeć: Mężczyzna
- Wersja Ubuntu: inny OS
- Środowisko graficzne: Openbox
- Architektura: x86_64
- Kontakt:
Odp: Przydatne skrypty
Kod: Zaznacz cały
z=`mocp --info | grep File:`
z=${z#File:\ }
sleep 5
y=`mocp --info | grep File:`
y=${y#File:\ }
if [ "$z" != "$y" ]; then
echo "`date +'%D %T'` $y" >> playlog.txt
fi
Best4Linux.NET - sprawdz czy twoj sprzet zadziala pod Linuksem!
-
- Sędziwy Jeż
- Posty: 31
- Rejestracja: 25 lut 2007, 23:30
- Płeć: Mężczyzna
- Wersja Ubuntu: 12.04
- Środowisko graficzne: Brak
Odp: Przydatne skrypty
Powiadomienia w środowisku Gnome wyglądają tak:
a wysyłać można je na kilka sposobów, np. dwa różne polecenia:
Kod: Zaznacz cały
msgat 2h55m bardzo ważna wiadomość
msgat 3h-5m "bardzo ważna wiadomość"
Można również określić czas wprost, np. te dwa polecenia:
Kod: Zaznacz cały
msgat 20:45 31.07.08 'treść wiadomości'
msgat 2008-07-31 20:45 treść wiadomości
Kod: Zaznacz cały
#!/bin/bash
#program: msgat v0.2
#author: Tomek Bekas
#email: procek <at> <no spam> gmail.com
#licence: GPL v3.0
#notes: the program sends a message to the user at a specific time or a
#specified interval of time, uses the program at and the library libnotify;
#notifications are active only during the current session;
#all error messages are routed from stderr to /dev/null, because almost
#all of them are warning messages sent to stderr even if everything works
#well, but if you want to review them, change the contents of ERRLOG variable
#usage examples:
#msgat 2009-01-31 20:45 content #these two different commands will give
#msgat 20:45 31.01.09 content #the same effect
#msgat 1w2d23h30m part1 part2 #and these two also give the same effect
#msgat 1w3d-30m "part1 part2" #
TFS=':' #time field separator, default is colon
DFS='.-' #date field separator, default is dot and dash
NFS='0123456789-' #numeric field separator, default is all digits and minus
DIFS="$IFS"
BU="minute" #basic unit, default is minute
TU=(w d h m) #time units, default is w d h m (weeks, days, hours, minutes)
UV=(7 24 60 1) #relative unit values
TIFS=$(echo ${TU[*]} | tr -d "${IFS:0:1}") #time interval field separator, default is 'wdhm'
ERRLOG="/dev/null" #error log file, default /dev/null :)
#set -x
function exitSuccess {
echo -en "message: $@\nwill be sent at: "
if [ "$interval" ] ; then
date -d"+$interval $BU" +"%a %d %b, %R"
else
date -d"$date $time" +"%a %d %b, %R"
fi
exit 0
}
function exitUsage {
echo -e "usage: \n$0 [time] [date] <message>\n$0 [interval] <message>"
exit 1
}
function checkLibnotify {
if [ ! -x /usr/bin/notify-send ] ; then
echo "you need to have libnotify installed to run this script"
exit 1
fi
}
function absUnitValue
(
result=1
for (( i=$[ ${#UV[*]} - 1 ] ; i >= 0 ; i-- )) ; do
result=$[ $result * ${UV[i]} ]
[ "$1" = "${TU[i]}" ] && { echo $result ; exit 0 ; }
done
echo 0 #if unit not found in array
exit 1
)
function getTime
(
arg=$1
IFS=$TFS
set $1
IFS=$DIFS
[ $# -ne 2 ] && exit 1
arg=`date -d"${1}:${2}" +%R` || exit 1 #generates errors to stderr
echo $arg
exit 0
)
function getDate
(
arg=$1
IFS=$DFS
set $1
IFS=$DIFS
[ $# -ne 3 ] && exit 1
arg=`date -d"${3}-${2}-${1}" +%F` || #generates errors to stderr
arg=`date -d"${1}-${2}-${3}" +%F` || exit 1 #generates errors to stderr
echo $arg
exit 0
)
function getInterval
(
arg=$1
IFS=$NFS
set $arg
units=$@ #units used in arg
IFS=$TIFS
set $arg
IFS=$DIFS
for i in $units ; do
sum=$[ $sum + $1 * $(absUnitValue $i) ] || exit 1 #generates errors to stderr
shift
done
echo $sum
exit 0
)
function sendMsg
(
if [ "$interval" ] ; then
#generates errors to stderr
at "now + $interval $BU" << EOT
notify-send -t 0 "$@"
EOT
(( $? )) && exit 1
else
#generates errors to stderr
#at "${time:=$(date +%R)} ${date:=$(date +%F)}" << EOT
at "$time $date" << EOT
notify-send -t 0 "$@"
EOT
(( $? )) && exit 1
fi
exit 0
)
function main {
checkLibnotify
[ $# -lt 2 ] && exitUsage #requires at least two arguments
date=''
time=''
interval=''
for i ; do
#if interval and date and time are empty
if [ -z "$interval" -a -z "$date" -a -z "$time" ] ; then
interval=`getInterval $1` || #the only proper order is interval, time, date
time=`getTime $1` ||
date=`getDate $1` || exitUsage
shift
#if only date and interval are empty (time has some value)
elif [ -z "$date" -a -z "$interval" ] ; then
date=`getDate $1` && shift || date=`date +%F`
sendMsg $@ && exitSuccess $@ || exitUsage
#if only time and interval are empty (date has some value)
elif [ -z "$time" -a -z "$interval" ] ; then
time=`getTime $1` && shift || time=`date +%R`
sendMsg $@ && exitSuccess $@ || exitUsage
#if only time and date are empty (interval has some value)
else #equal to: if [ -z "$time" -a -z "$date" ] ; then
sendMsg $@ && exitSuccess $@ || exitUsage
fi
done
}
main $@ 2> $ERRLOG #stderr > /dev/null
-
- Wytworny Kaczor
- Posty: 418
- Rejestracja: 09 lut 2007, 23:17
- Płeć: Mężczyzna
- Wersja Ubuntu: 9.10
- Środowisko graficzne: GNOME
- Architektura: x86
- Kontakt:
Odp: Przydatne skrypty
changefps:
Kod: Zaznacz cały
#!/usr/bin/php5
<?php
if (!($f = $_SERVER['argv'][1])) $f = 23.976;
if (!($t = $_SERVER['argv'][2])) $t = 25;
$fp = fopen("php://stdin", "r") or die("can't read stdin");
while (!feof($fp)) {
$line = fgets($fp);
preg_match_all('/\{([0-9]+)\}/', $line, $matches);
for ($i=0; $i<2; $i++) {
$line = str_replace($matches[0][$i], '{'.floor($matches[1][$i]*$f/$t).'}', $line);
}
echo $line;
}
?>
Kod: Zaznacz cały
changefps [początkowy fps] [fps po zmianie] < przed.txt > po.txt
gchangefps (graficzna nakładka, używająca zenity):
Kod: Zaznacz cały
#!/bin/bash
f=`zenity --scale --value 24 --min-value 10 --max-value 30 --text "Subtitle FPS"`
t=`zenity --scale --value 25 --min-value 10 --max-value 30 --text "Movie FPS"`
changefps $f $t < "$1" > "$1.new"
mv "$1.new" "$1"
Kod: Zaznacz cały
gchangefps <ścieżka do pliku z napisami>
Odp: Przydatne skrypty
Dla tych co muszą zmieniać hasła np. co tydzień ( tak sobie ustawiłem w całej sieci) aby się nie męczyć prostą komendą, napisałem takie proste
Kod: Zaznacz cały
#!/usr/bin/perl -w
system "clear";
use Term::ANSIColor;
print color("blue"),"Hmm wymyślę hasła ..:)\n", color("reset");
print color("green"),"Podaj długość hasła (cyfrą) ",color("reset");
$li = <STDIN>;
if ($li lt "1")
{ print color("red"),"nic nie wprowadzono...!,kończe program\n", color("reset");exit}
print color("green"),"Podaj ilość haseł (cyfrą) ",color("reset");
$powt =<STDIN>;
if ($powt lt "1")
{ print color("red"),"brak wszystkich danych...!, kończe program.\n",color("reset");exit}
print "Ok, rozpoczynam generowanie haseł\n";
$ile = $powt;
for (1 ..$powt)
{
{ @lines = `pwgen -s -y $li`;print color("white"),"hasło.. ",color("reset");}foreach (@lines)
{print;}
}
-
- Piegowaty Guziec
- Posty: 1
- Rejestracja: 20 mar 2008, 16:00
- Płeć: Mężczyzna
- Wersja Ubuntu: 8.04
- Środowisko graficzne: GNOME
- Kontakt:
Odp: Przydatne skrypty
http://www.howto.yoyo.pl/?p=27
- anemus
- Serdeczny Borsuk
- Posty: 117
- Rejestracja: 19 lut 2007, 20:25
- Wersja Ubuntu: inny OS
- Środowisko graficzne: Xfce
- Architektura: x86_64
- Lokalizacja: Niebiańskie Piekiełko
Odp: Przydatne skrypty
Kod: Zaznacz cały
#!/bin/bash
in_file=$1
if [ -w $in_file ]
then
if [ -f $in_file ]
then
gedit $in_file
else
gedit
fi
else
if [ -f $in_file ]
then
gksu gedit $in_file
else
gksu gedit
fi
fi
Tux Marley
- daris
- Sędziwy Jeż
- Posty: 66
- Rejestracja: 26 lut 2007, 17:20
- Płeć: Mężczyzna
- Wersja Ubuntu: 15.04
- Środowisko graficzne: KDE Plasma
- Architektura: x86_64
Odp: Przydatne skrypty
Kod: Zaznacz cały
#!/bin/bash
max_chars=100 # maksymalna liczba znaków na konsoli (dlugosc paska wykresu)
max_down_speed=65536 # maksymalna prędkość pobierania w bajtach (tutaj 65536 B = 64 KB = 512Mb)
function get_speed()
{
speed=`cat /proc/net/dev | grep eth0`
if [ "$1" == 'up' ]; then
speed=`echo $speed | awk '{print $9}'`
last=$last_upl
last_upl=$speed
else
speed=`echo $speed | awk '{print $1}' | awk -F":" '{print $2}'`
last=$last_down
last_down=$speed
fi
speed=$[ $speed - $last ]
}
function kb()
{
bytes=$[$1 * 100 / 1024]
val=`echo $bytes | sed 's/\([[:digit:]]*\)\([[:digit:]]\{2\}\)/\1.\2/g'`
if [ `echo $val | wc -m` == 4 ]; then
val="0$val"
elif [ `echo $val | wc -m` == 3 ]; then
val="0.$val"
elif [ `echo $val | wc -m` == 2 ]; then
val="0.0$val"
fi
}
function wykres()
{
perc=$[$1 * 100 / $max_down_speed]
print_chars=$[$perc/ (100 / $max_chars)]
str='['
for s in `seq 0 $max_chars`
do
if [ $s -lt $print_chars ]; then
str+='#'
else
str+='-'
fi
done
str+=']'
}
last_upl=`cat /proc/net/dev | grep eth0 | awk '{print $9}'`
last_down=`cat /proc/net/dev | grep eth0 | awk '{print $1}' | awk -F":" '{print $2}'`
sleep 1
echo -e "\n"
i=1
while [ true ]
do
get_speed 'up'
kb $speed
upl_speed=$val
get_speed 'down'
wykres $speed
wykres=$str
down_sum=$[$down_sum + $speed]
kb $speed
down_speed=$val
down_avg=$[$down_sum/$i]
kb $down_avg
down_avg=$val
echo -e "\e[2A$wykres"
echo -e "Download: $down_speed KB/s\e[K\tUpload: $upl_speed KB/s\e[K\tDownload Avg: $down_avg KB/s"
i=$[$i+1]
sleep 1
done
Kod: Zaznacz cały
darek:~/skrypty/netstat$ ./netstat
[########---------------------------------------------------------------------------------------------]
Download: 5.55 KB/s Upload: 0.77 KB/s Download Avg: 5.24 KB/s
-
- Sędziwy Jeż
- Posty: 68
- Rejestracja: 03 lis 2007, 23:14
- Płeć: Mężczyzna
- Wersja Ubuntu: 11.04
- Środowisko graficzne: GNOME
- Architektura: x86_64
- Kontakt:
Odp: Przydatne skrypty
Kod: Zaznacz cały
#!/bin/bash
word=""
au=`echo "ą"|head -c2|tail -c1`
ci=`echo "ć"|head -c2|tail -c1`
eu=`echo "ę"|head -c2|tail -c1`
wo=`echo "ł"|head -c2|tail -c1`
ni=`echo "ń"|head -c2|tail -c1`
oo=`echo "ó"|head -c2|tail -c1`
si=`echo "ś"|head -c2|tail -c1`
zi=`echo "ź"|head -c2|tail -c1`
rz=`echo "ż"|head -c2|tail -c1`
if [ "$1" = "" ]; then
echo "Nie podales zadnego slowa"
echo "Skladnia: platon <slowo>"
exit 1
fi
echo "Platon 0.1, szukanie: $1"
letters=`echo $1|wc -c` #ilosc bajtow slowa
Li=1
until [ "$Li" = "$letters" ]; do
sign[$Li]=`echo $1|head -c$Li|tail -c1`
Li=$[$Li+1]
done
Li=1; mod=0; hol=$letters
until [ "$Li" = "$letters" ]; do
case "${sign[$Li]}" in
"$au") mod=$[$mod+1]
sign[$Li]="a"
urllet[$Li]="%B1"
hol=$[$hol-1];;
"$ci") mod=$[$mod+1]
sign[$Li]="c"
urllet[$Li]="%E6"
hol=$[$hol-1];;
"$eu") mod=$[$mod+1]
sign[$Li]="e"
urllet[$Li]="%EA"
hol=$[$hol-1];;
"$wo") mod=$[$mod+1]
sign[$Li]="l"
urllet[$Li]="%B3"
hol=$[$hol-1];;
"$ni") mod=$[$mod+1]
sign[$Li]="n"
urllet[$Li]="%F1"
hol=$[$hol-1];;
"$oo") mod=$[$mod+1]
sign[$Li]="o"
urllet[$Li]="%F3"
hol=$[$hol-1];;
"$si") mod=$[$mod+1]
sign[$Li]="s"
urllet[$Li]="%B6"
hol=$[$hol-1];;
"$zi") mod=$[$mod+1]
sign[$Li]="z"
urllet[$Li]="%BC"
hol=$[$hol-1];;
"$rz") mod=$[$mod+1]
sign[$Li]="z"
urllet[$Li]="%BF"
hol=$[$hol-1];;
*) urllet[$Li]="${sign[$Li]}";;
esac
pos=$[$Li-$mod]
letter[$pos]="${sign[$Li]}"
urllet[$pos]="${urllet[$Li]}"
Li=$[$Li+1]
done
Li=1
until [ "$Li" = "$hol" ]; do
word+=${letter[Li]}
urlend+=${urllet[$Li]}
Li=$[$Li+1]
done
echo "Laczenie z http://angool.com/search/index.php?query=$urlend"
echo
echo "------------"
links -dump http://angool.com/search/index.php?query=$urlend|grep $word
echo "------------"
exit 0
#Platon 0.1 - Pawel Tokarz, 2008
Lwia część, jak widać, dotyczy polskich znaków. Działa w miarę, trzeba jeszcze dopracować parę rzeczy, ale na szybko starczy.
- qbsiu
- Piegowaty Guziec
- Posty: 14
- Rejestracja: 22 sie 2006, 10:06
- Płeć: Mężczyzna
- Wersja Ubuntu: 9.04
- Środowisko graficzne: GNOME
- Architektura: x86
Rapidshare + ADSL Pentagram Cerberus
Skrypcik znaleziony na necie, jest główny autor i pomysłodawca tego, jednak coś mi się w nim nie podobało, więc to przebudowałem i dodałem funkcję do resetowania neo. Od razu mówię, że skrypt przerabiałem pod KDE.
Kod: Zaznacz cały
#!/bin/bash
#
# Autor: Piotr Jachacy <jachacy@gmail.com>
# Modyfikował: Łukasz Kubsz <qbsiu@o2.pl>
#
# ostatnia modyfikacja: 28.12.2008
#
# /* This program is free software. It comes without any warranty, to
# * the extent permitted by applicable law. You can redistribute it
# * and/or modify it under the terms of the Do What The Fuck You Want
# * To Public License, Version 2, as published by Sam Hocevar. See
# * http://sam.zoy.org/wtfpl/COPYING for more details. */
#
# kolorki
clear
red="\e[1;31m"
zaden="\033[0m"
green="\e[1;92m"
white="\e[1;37m"
liczba=0
function restart
{
GATEIP="192.168.0.1"
LINK="http://$GATEIP/doc/index.htm?WINDWEB_URL=/doc/adsltop.htm&ADSL_Action=0"
USER="admin"
PASS="haselko_nasze"
wget --quiet --http-user=$USER --http-password=$PASS ${LINK} -O /tmp/wget_router
rm -f /tmp/wget_router
rm -rf .ip
mkdir .ip
cd .ip
while [ 1 ]; do
ip=`wget --quiet http://checkip.dyndns.org/index.html && cat index.html | cut -d ' ' -f 6 | cut -d '<' -f 1`
sleep 1
if [ -n "$ip" ]; then
break
fi
done
cd ..
rm -rf .ip
}
function odliczanie
{
x=$1
while [ $x -ge 1 ]; do
printf "\r%-5s" $x"s"
x=$[x -1]
sleep "1"
done
printf "\r%-5s" ""
}
function pobierz
{
link=$1
sciezka=$2
link=$(wget "$link" -q -O - | grep 'form id="ff"' | sed -e 's/.*action="\(.*\)"\s.*/\1/')
if [ -n "$link" ]; then
link=$(wget --post-data "dl.start=Free" $link -q -O -)
if [ -n "$(echo "$link" | grep "Please wait until the download is completed")" ]; then
echo -e ''$red'Sciągasz inne pliki!'$zaden''
exit
elif [ -n "$(echo "$link" | grep "You have reached the download limit for free-users. Would you like more?")" ]; then
echo -e ''$green'Trwa resetowanie Twojego rutera'$zaden''
restart
pobierz $1 $sciezka
else
czas=$(echo "$link" | grep "var c" | sed -e "s/var c=\([0-9]*\);.*/\1/")
echo -e ''$green'Trwa odliczanie'$zaden''
odliczanie $czas
echo -e ''
echo -e ''$red'----------------------------------------------------------'$zaden''
echo -e ''$red''$liczba'/'$ilosc''$green' Trwa pobieranie: '$1''$zaden''
link=$(echo "$link" | grep 'form name="dlf"'| sed -e 's/.*action="\(.*\)"\s.*/\1/')
wget --post-data "mirror=on" "$link" -P "$sciezka"
if [ "$?" == "0" ]; then
kdialog --passivepopup "Pobrano $link"
else
kdialog --passivepopup "Nie udało się pobrać pliku: $link"
fi
echo -e ''$red'----------------------------------------------------------'$zaden''
fi
else
echo -e ''$red'Nie udało się pobrać pliku: '$green''$1''$zaden''
fi
}
sciezka_zapisu=`kdialog --getexistingdirectory /`
typ=`kdialog --radiolist "Wybierz typ:" 1 "Wprowadź listę" on 2 "Wprowadź linki ręcznie" off`
if [ $typ == "1" ]; then
sciezka=`kdialog --getopenfilename ~`
ilosc=`cat $sciezka |grep -E -v "^#|^$" | wc -l`
for x in $(cat $sciezka)
do
if [ -n "$x" ]; then
liczba=$(($liczba+1))
pobierz "$x" "$sciezka_zapisu"
fi
done
elif [ $typ == "2" ]; then
touch ~/tmp.rapid
kdialog --textinputbox 'Podaj linki, <b>każdy link w osobnej linijce</b>' > ~/tmp.rapid
ilosc=`cat ~/tmp.rapid | grep -E -v "^#|^$" | wc -l`
for x in $(cat ~/tmp.rapid)
do
if [ -n "$x" ]; then
liczba=$(($liczba+1))
pobierz "$x" "$sciezka_zapisu"
fi
done
rm ~/tmp.rapid
fi
Mój skrypt ma dużo błędów, w najbliższym czasie się pobawię.
Więcej moich skryptów znajdziesz tu: http://qbsiu.palarnia.org/Skrypty/
- ryniek
- Serdeczny Borsuk
- Posty: 188
- Rejestracja: 21 lis 2007, 16:48
- Płeć: Mężczyzna
- Środowisko graficzne: GNOME
- Architektura: x86
- Kontakt:
Odp: Przydatne skrypty
[link]
W przypadku gdy link wygaśnie, zamieszczam poniżej archiwum.
Skrypt dodajemy do configa Conky np. tak:
Kod: Zaznacz cały
${font}${color}${color burlywood}${font :size=10}Poczta@WP.PL: ${font :size=9}${execi 60 ~/Skrypty/pocztawp.py}${color burlywood}
Kod: Zaznacz cały
python /home/user/Skrypty/pocztawppl.py
- Załączniki
-
- pocztawppl.py.tar.gz
- (935 Bajtów) Pobrany 273 razy
Stop złym praktykom sprzedaży oprogramowania wraz z sprzętem - http://uwolnijlaptopa.pl/
-
- Piegowaty Guziec
- Posty: 28
- Rejestracja: 19 sty 2009, 13:46
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.10
- Środowisko graficzne: GNOME
- Architektura: x86
- Kontakt:
Słownik pol-ang i ang-pol
Kod: Zaznacz cały
links -dump http://megaslownik.pl/slownik/polsko_angielski/$1 | grep "\[IMG\]>>" | sed -e 's/\[IMG\]//'
Kod: Zaznacz cały
links -dump http://megaslownik.pl/slownik/angielsko_polski/$1 | grep " >> "
-
- Piegowaty Guziec
- Posty: 27
- Rejestracja: 16 lis 2007, 16:12
- Płeć: Mężczyzna
- Wersja Ubuntu: 11.04
- Środowisko graficzne: GNOME
- Architektura: x86
- Kontakt:
Odp: Przydatne skrypty
Kod: Zaznacz cały
#!/bin/bash
#Skrypt pobierający słówko i idiom dnia z serwisu ang.pl
#stworzone przez SCT/Adawo <adawo.roag@gmail.com>
#na licencji GPL
#Pobieramy slowko dnia...
wget "http://www.ang.pl/slowko_dnia.php?today=1&print=1" -q -O /tmp/slowko_dnia
#usuwamy tagi html | kodowanie z iso-8859-1 na iso-8859-2 |
html2text -nobs /tmp/slowko_dnia | iconv -f iso-8859-2 | sed -e "s/\ \{2\,\}//g; s/\\[img[a-zA-Z0-9 ./\n:]*\]//g; s/\\[http[a-zA-Z0-9 ./\n:]*\]//g; s/\\[Unknow[a-zA-Z0-9 ./\n:]*\]//g;" > /tmp/slowko_tmp
#SŁÓWKO DNIA
word=$(echo `cat /tmp/slowko_tmp | head -n 22 | tail -n 1 | sed -e "s/\[[a-zA-Z\/]*//g"`) #Slowko dnia
def_start=$(echo `cat /tmp/slowko_tmp | grep -e "[ \t]*DEFIN*" -b | head -c 3`)
def_end=$(echo `cat /tmp/slowko_tmp | grep -e "[ \t]*EXAMPLE\:" -b | head -c 3`)
word_definiction=$(echo `cat /tmp/slowko_tmp | tr "\n" " " | cut -b "$def_start-$def_end" | sed -e "s/DEFINITION: //g"`)
#wycinamy przykład
exa_end=$(echo `cat /tmp/slowko_tmp | grep -e "[ \t]*POLISH TRANS" -b | head -c 3`)
exa_start=$(echo `cat /tmp/slowko_tmp | grep -e "[ \t]*EXAMPLE\:" -b | head -c 3`)
word_example=$(echo `cat /tmp/slowko_tmp | tr "\n" " " | cut -b "$exa_start-$exa_end" | sed -e "s/EXAMPLE: //g"`)
#translacja
word_translation=$(echo `cat /tmp/slowko_tmp | grep -e "[ \t]*POLISH TRANSLATION: " | head -n 1 | sed -e "s/POLISH TRANSLATION: //g"`)
#IDIOM DNIA:
idiom_start=$(echo `cat /tmp/slowko_tmp | grep -e "IDIOM OF THE DAY" -n | head -c 2`)
idiom=$(echo `cat /tmp/slowko_tmp | head -n $(expr $idiom_start + 2) | tail -n 1`)
exa_start=$(echo `cat /tmp/slowko_tmp | grep -e "[ \t]*EXAMPLE\:" -b | tail -n 1 | head -c 3`)
exa_end=$(echo `cat /tmp/slowko_tmp | grep -e "[ \t]*POLISH TRANS" -b | tail -n 1 | head -c 3`)
idiom_example=$(echo `cat /tmp/slowko_tmp | tr "\n" " " | cut -b "$exa_start-$exa_end" | sed -e "s/EXAMPLE: //g"`)
idiom_translation=$(echo `cat /tmp/slowko_tmp | grep -e "[ \t]*POLISH TRANSLATION: " | tail -n 1 | sed -e "s/POLISH TRANSLATION: //g"`)
#WYPISUJEMY:
echo -e "\033[0;31mSŁÓWKO DNIA:\033[0m $word"
echo -e "\033[0;31mDEFINICJA:\033[0m $word_definiction"
echo -e "\033[0;31mPRZYKŁAD:\033[0m $word_example"
echo -e "\033[0;31mTRANSLACJA:\033[0m $word_translation"
echo
echo -e "\033[0;31mIDIOM:\033[0m $idiom"
echo -e "\033[0;31mPRZYKŁAD:\033[0m $idiom_example"
echo -e "\033[0;31mTRANSLACJA:\033[0m $idiom_translation"
#Sprzatamy po sobie śmeci...
rm /tmp/slowko_dnia /tmp/slowko_tmp
- igotit4free
- Przyjaciel
- Posty: 6453
- Rejestracja: 29 paź 2008, 22:51
- Płeć: Mężczyzna
- Architektura: x86_64
- Lokalizacja: KRK
Skrypt odczytujący USB_size w opraciu o df i awk => Conky
W podanej formie odczytuje wartość z drugiej linii drugiej kolumny pliku:
Kod: Zaznacz cały
domek@domek-desktop:~$ df -H /dev/sdb1
System plików rozm. użyte dost. %uż. zamont. na
/dev/sdb1 2,1G 337M 1,8G 17% /media/PENNY
Kod: Zaznacz cały
#!/bin/bash
echo "$(df -H /dev/sdb1 | awk '{if(NR == 2){print $2}}')"
Po utworzeniu skryptu o nazwie "NAZWA_XXX" w moim przypadku w katalogu domowym "conky" trzeba nadać prawa do wykonywania jako program:
Kod: Zaznacz cały
cd conky && chmod a+x NAZWA_XXX
Kod: Zaznacz cały
${execi 3 ~/conky/NAZWA_XXX}
-
- Sędziwy Jeż
- Posty: 49
- Rejestracja: 31 gru 2008, 11:40
- Płeć: Mężczyzna
- Wersja Ubuntu: 9.04
- Środowisko graficzne: GNOME
Odp: Przydatne skrypty
Mój debiut w bash'u;-)
Kod: Zaznacz cały
#!/bin/bash
clear
echo -e "\t\t\t\t ABC++ v0.1\n\n"
if [ -d ~/abc++ ]
then
echo -e "Katalog abc++ istnieje\n"
else
mkdir ~/abc++/
echo -e "Utworzono katalog 'abc++' w folderze domowym\n"
fi
cd ~/abc++/
if [ -e ~/abc++/conf.txt ]
then
d=`cat conf.txt| head -1`
e=`cat conf.txt| head -2| tail -1`
u=`cat conf.txt| tail -1`
else
d=$PWD
e="cpp"
u="c++"
fi
cd $d
c=1
while [ $c==1 ]
do
echo -e "Kody zrodlowe musza byc umieszczone w tym folderze: $d\n"
echo -e "Domyslne rozszerzenie to: $e\n"
echo -e "Wlaczony kompilator to: $u\n--------------------------------------------------------------------------------"
echo -e "\n\t\t\t 1 - kompiluj nowy plk"
echo -e "\t\t\t 2 - kompiluj ponownie"
echo -e "\t\t\t 3 - edytuj kod źródłowy"
echo -e "\t\t\t 4 - ustawienia"
echo -e "\t\t\t 5 - wyjdz"
read b
case $b in
"1")echo -e "Podaj nazwę pliku do kompilacji:\n"
read a
clear
if [ -e $d/$a.$e ]
then
$u $a.$e -Wall -o $a.o 2> $a.txt
if [ -e $d/$a.txt ]
then
mv $d/$a.txt ~/abc++/logi
fi
export $a
xterm -e "./$a.o; bash"
gedit $a.cpp
else
echo -e "\a Plik o podanej nazwie nie istnieje, sprawdz rozszerzenia, oraz sciezke\n\t\tdo katalogu z kodami zrodlowymi - sprawdz ustawienia\n\n"
fi;;
"2") clear
if [ -e $d/$a.$e ]
then
$u $a.$e -Wall -o $a.o 2>> $a.txt
if [ -e $d/$a.txt ]
then
mv $d/$a.txt ~/abc++/logi
fi
export $a
xterm -e "./$a.o; bash"
gedit $a.cpp;
else
echo -e "\a Plik o podanej nazwie nie istnieje, sprawdz rozszerzenia, oraz sciezke\n\t\tdo katalogu z kodami zrodlowymi - sprawdz ustawienia\n\n"
fi;;
"3") gedit $a.cpp;;
"4") clear
echo 'Aktualne ustawienia:'
echo -e "\nKody zrodlowe musza byc umieszczone w tym folderze: $d\n"
echo -e "Domyslne rozszerzenie to: $e\n"
echo -e "Wlaczony kompilator to: $u\n--------------------------------------------------------------------------------"
echo -e "\t\t\t1 - zmien folder kodow zrodlowych"
echo -e "\t\t\t2 - zmian domyslne rozszerzenie kodow zrodlowych"
echo -e "\t\t\t3 - zmien kompilator"
echo -e "\t\t\t4 - wyczysc logi"
echo -e "\t\t\t5 - wyjdz"
read c
case $c in
"1")echo -e "Podaj domyslną sciezke do folderu z kodami zrodlowymi:\n"
read d
cd $d;;
"2")echo -e "Podaj domyslną rozserzenie:\n"
read e;;
"3")echo -e "Podaj nazwe kompilatora: c - gcc, c++ - g++:\n"
read u;;
"4")cd ~/abc++/logi
rm *.txt
clear;;
"5") clear;;
*) echo "Nic nie wybrałeś";;
esac;;
"5") cd ~/abc++/
echo $d > conf.txt
echo $e >> conf.txt
echo $u >> conf.txt
exit;;
*) echo "Nic nie wybrałeś";;
esac
done
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość