Skripty
Všechny skripty umístěné na této stránce jsou volné programové vybavení; můžete je šířit a modifikovat podle ustanovení Obecné veřejné licence GNU verze 2 (GNU GPL v2), vydané Free Software Foundation.
Skripty jsou rozšiřovány v naději, že budou užitečné, avšak BEZ JAKÉKOLI ZÁRUKY; neposkytují se ani odvozené záruky PRODEJNOSTI anebo VHODNOSTI PRO URČITÝ ÚČEL.
Další podobnosti hledejte v textu Obecné veřejné licence GNU verze 2, který je dostupný například na http://www.gnu.org/ popř. český překlad na http://www.gnu.cz/.
dot2pdf.sh
02.11.2009
Bash
#!/bin/bash # # Copyright (C) 2009 Michal Turek # License: GNU GPL v2 # # Converts Doxygen/dot diagrams to PDF format, # that can be used in pdflatex as vector images # # Doxyfile settings # DOT_CLEANUP = NO for file in *.dot do name=`echo ${file} | cut -f1 -d.` echo "${name}.dot -> ${name}.pdf" dot -Tsvg -o ${name}.svg ${name}.dot rsvg-convert -f pdf -o ${name}.pdf ${name}.svg rm ${name}.svg done
change_volume.sh
29.03.2009
Bash
#!/bin/bash # # Copyright (C) 2009 Michal Turek # License: GNU GPL v2 # # Change volume and display OSD slider at the bottom of the screen if [ $# -lt 1 ]; then echo 'Usage:' echo "$0" echo "$0 +2" echo "$0 -2" exit fi aumix -v $1 killall osd_cat osd_cat -d 1 -p bottom -c green -b percentage -P `aumix -q | head -1 | sed 's/vol \(.*\),.*/\1/'` -T Volume [woq@evm ~]$ cat ~/.pekwm/keys | grep change_volume.sh KeyPress = "Shift F11" { Actions = "Exec change_volume.sh -2 &" } KeyPress = "Shift F12" { Actions = "Exec change_volume.sh +2 &" } [woq@evm ~]$
kbswitch.pl
22.12.2008
Perl
#!/usr/bin/perl -w # # Copyright (C) 2008 Michal Turek # License: GNU GPL v2 # # Switch keyboard layouts (us, cz...) with osd indication # # Available layouts are in # /usr/share/X11/xkb/rules/base.lst # /usr/share/X11/xkb/symbols.dir use constant FILENAME_KB => "/home/woq/.kbswitch.txt"; use constant FILENAME_KBA => "/home/woq/.kbswitch_active.txt"; open(FILE_KBA, "< ".FILENAME_KBA) or die("Unable to open ".FILENAME_KBA); @data = <FILE_KBA>; $curpos = $data[0] + 1; close(FILE_KBA); open(FILE_KBA, "> ".FILENAME_KBA) or die("Unable to open ".FILENAME_KBA); print(FILE_KBA $curpos); close(FILE_KBA); open(FILE_KB, "< ".FILENAME_KB) or die("Unable to open ".FILENAME_KB); @data = <FILE_KB>; $lng = @data[$curpos % @data]; close(FILE_KB); print $lng; `setxkbmap $lng`; `echo '$lng' | osd_cat -p bottom -o -70 -A center -d 1 -O 1 -u white -f '-dejavu-dejavu sans-bold-r-normal--33-240-100-100-p-222-iso8859-1'`; ############################################ [woq@woq ~]$ cat .kbswitch.txt us cz qwerty ru cv
kam.sh
11.05.2008
Bash
#!/bin/bash # # Copyright (C) 2008 Michal Turek # License: GNU GPL v2 # # Display original file from symbolic link (recursive) if [ $# -lt 1 ]; then echo "Usage:" echo "$0 <symbolic link>" exit 1 fi readlink $1 > /dev/null if [ $? -eq 1 ] then echo "Specified file $1 is not a symbolic link." exit 1 fi path=$1 finish=0 while [ $finish -eq 0 ]; do newpath=`readlink $path` finish=$? if [ $finish -eq 0 ]; then path=$newpath fi done echo $path
jpgcompress.sh
15.10.2007
Bash
#!/bin/bash # # Copyright (C) 2007 Michal Turek # License: GNU GPL v2 # # Compress all *.jpg files in the current directory to the specified quality if [ $# -lt 1 ]; then echo "Usage:" echo "$0 <jpg quality>" echo "$0 80" exit fi for filename in $( ls -1 *.jpg *.JPG 2> /dev/null ); do echo "$filename" name=`echo "$filename" | cut -f1 -d.` convert -quality $1 "$filename" "${name}_q$1.jpg" done
exifdate.sh
16.09.2007
Bash
#!/bin/bash # # Copyright (C) 2007 Michal Turek # License: GNU GPL v2 # # Set the image filenames to the date readed from the exif information # Usage: Just run the script in directory with images for filename in $( ls -1 *.jpg *.JPG 2> /dev/null ); do newname=`exif -mt 0x9003 "$filename" | tr ' ' '_' | tr ':' '-'`.jpg if [ "$newname" != '.jpg' ]; then mv -iv "$filename" "$newname" else echo "Couldn't find exif data: $filename"; fi done
m3u_generator.sh
24.03.2007
Bash
#!/bin/bash # # Copyright (C) 2007 Michal Turek # License: GNU GPL v2 # # Generates m3u playlist from the files in the specified directory # Usage: ./m3u_generator directory > directory.m3u if [ $# -lt 1 ]; then echo "Usage:" echo "$0 <directory>" exit fi find $1 -type f
mencoder_beg_end.sh
04.03.2007
Bash
#!/bin/bash # # Copyright (C) 2007 Michal Turek # License: GNU GPL v2 # # Oreze zacatek a konec filmu if [ $# -lt 3 ]; then echo "Usage:" echo "$0 <film> <start> <end>" echo "$0 old.avi 00:02:20 01:36:30" echo "End parameter is end position in the newly generated file." exit fi mv $1 $1_bak mencoder $1_bak -ss $2 -endpos $3 -ovc copy -oac copy -o $1
backup
02.02.2007
Bash
#!/bin/bash # # Copyright (C) 2007 Michal Turek # License: GNU GPL v2 # # Backup important directories tar -czf /root/backup/`date +%F`.tar.gz /etc /var/lib/mysql 2> /dev/null # crontab -e # Every Saturday at 12 am # 0 12 * * 5 /root/backup/backup.sh
ICQ countdown
13.11.2006
Bash
#!/bin/bash # # Copyright (C) 2006 Michal Turek # License: GNU GPL v2 # # Dlja Natalju Valjentinovnu Dmitrenko k dnu raždénija if [ $# -lt 1 ]; then echo "Usage:" echo "$0 <icq number or nickname>" exit fi for ((i=10;i>=0;i=i-1)); do echo $i | centericq -p icq -s msg -t $1 sleep 2 done echo 'Vsjo lucsee...!'
HTMLtable
31.10.2006
Bash
#!/bin/bash # # Copyright (C) 2006 Michal Turek # License: GNU GPL v2 # # Vytvoří HTML tabulku z hodnot v souboru oddělených bílými znaky echo '<html><head><title>titulek</title></head>' echo '<body><h1>nadpis</h1><table border="1">' cat $1 | sed 's/^[ ]*/<tr><td>/' | sed 's/[ ]*$/<\/td><\/tr>/' | sed 's/[ ][ ]*/<\/td><td>/g' echo '</table></body></html>'
convertformat.sh
28.09.2006
Bash, convert
#!/bin/bash # # Copyright (C) 2006 Michal Turek # License: GNU GPL v2 # # This converts all images in the current directory from one format to another if [ $# -lt 2 ]; then echo 'Usage:' echo "$0 <source extension> <target extension>" echo "$0 png jpg" exit fi for file in *.$1; do echo $file file=${file%.*} convert $file.$1 $file.$2 done
Skriptík
16.07.2006
Bash
#!/bin/bash # # Copyright (C) 2006 Michal Turek # License: GNU GPL v2 # # Hádejte, co to dělá :-O if [ $# -lt 4 ]; then echo "Usage:" echo "$0 <file.xml> <status> <source_dir> <target_dir>" exit fi for i in $( cat $1 | grep "status=\"$2\"" | sed 's/.*name="\([^"]*\)".*/\1/' ); do mkdir -p `echo "$4/$i" | tr '\\' '/' | sed 's/\(.*\)\/.*/\1/'` cp -v `echo "$3/$i" | tr '\\' '/'` `echo "$4/$i" | tr '\\' '/'` done
umount_usb_if_mounted
02.06.2006
Bash
#!/bin/bash # # Copyright (C) 2006 Michal Turek # License: GNU GPL v2 # # This script automatically umounts usb flash disk if mounted. You can # call it at logout time (~/.bash_logout, /usr/bin/startkde, etc.) cat /etc/mtab | grep "/mnt/usb.*user=`id -un`" > /dev/null if [ $? -eq 0 ]; then umount /mnt/usb fi
ctar, ctard
15.04.2006
Bash
#!/bin/bash # # Copyright (C) 2006 Michal Turek # License: GNU GPL v2 # # This script compress whole directory to the directory.tar.gz archive if [ $# -lt 1 ]; then echo 'Usage:' echo "$0 <directory>" exit fi tar -cvzf `echo $1 | sed 's/\///'`.tar.gz $1 #!/bin/bash # # Copyright (C) 2006 Michal Turek # License: GNU GPL v2 # # This script compress whole directory to the directory_date.tar.gz archive if [ $# -lt 1 ]; then echo 'Usage:' echo "$0 <directory>" exit fi tar -cvzf `echo $1 | sed 's/\///'`_`date +%F`.tar.gz $1
passwd -> MySQL
15.12.2005
PHP
PHP skript pro importování dat o uživatelích z /etc/passwd a /etc/shadow do MySQL databáze. Z důvodu bezpečnosti raději nespouštět pomocí webového serveru, ale přes /usr/bin/php. Z důvodu nečitelnosti /etc/shadow obyčejnými uživateli musí mít proces rootovská práva.
Copyright © 2001-2011 Michal Turek <WOQ (zavináč) seznam.cz>
Valid XHTML 1.0 Strict, Valid CSS