#!/bin/bash
################################################################
# 3.3.2012 @ Silicon Hill INSTALL FEST, workshop by Jan Zdarek #
################################################################
cd /tmp
echo "### Soucet velikosti:" >&2
du -sk /usr/bin/*
du -sk /usr/share/*
# 
echo "### Razeni human-readable dat podle velikosti (v GNU svete snadne, v UNIXu obtiznejsi):" >&2
du -sh /usr/bin/*
du -sh /usr/share/*
#
echo "### Vedlejsi efekty:" >&2
bfml > abc
echo $?
ls
#
echo "### Jak na aliasy:" >&2
alias
echo "#+ (Jsme ve skriptu, aliasy nevidime, nejsou tu moc platne.) +" >&2
echo "#+ Takze:" >&2
alias ls='ls --color=auto'
alias
ls
alias ls
/bin/ls
echo "#+ Aliasy se nededi, je treba jej interaktivnimu shellu nastavit do konfiguracniho souboru:" >&2
ls -l ~/.bashrc ~/.bash_profile ~/.profile
more ~/.profile
echo "#++ source .bashrc" >&2
more ~/.bashrc
echo "#++ source .bash_aliases" >&2
echo "#+++ Zaver: V teto distribuci je vyhodne umistit uzivatelske aliasy do souboru ~/.bash_aliases ." >&2
#
umask 0002
echo "### Ve velke knihovne multimedialnich souboru jsou nektere, ktere maji pravo ke spusteni a chceme jej odstranit." >&2
echo "#+ A co vic, v jejich nazvech jsou mezery." >&2
[ -d /tmp/Hudba ] || mkdir /tmp/Hudba
cd /tmp/Hudba/
echo "#+ Improvizovany, ale plne legalni download:" >&2
touch "music 0"{1..9}.{mp3,ogg}
ls
echo "#+ Stahneme si jeste i video:" >&2
mkdir Favourites
cp music\ 09.mp3 Favourites/file\ movie\ fest.mpg
ls Favourites
echo "#+ Nase multimedialni knihovnicka a co ji rekne ,find':" >&2
find . -type f -ls
echo "#+ Skupine vlastnika sebereme pravo zapisu na vsech souborech v knihovne:" >&2
find . -type f -ls -exec chmod g-w {} \;
find . -type f -ls
echo "#+ Kdybychom meli posetily napad a chteli vystup z findu pouzivat, mame problem s mezerami, presto by to eventualne mohlo jit:" >&2
echo "#++  1. zmena IFS," >&2
echo "#++  nebo 2. ukoncovani nalezenych polozek \0." >&2
find . -type f -print0
echo "+ Vidite ty nuly? +" >&2
echo "#+ V nasem provedeni to ale budeme delat radeji poradne. +" >&2
echo "#+" >&2
echo "#+ Pri vyhledavani je mozne selektivitu zvysit. Zacneme s nejvyznacnejsim kriteriem (tim, co nejvice zmensi vyslednou mnozinu)." >&2
echo "#+ Write bit odebereme i vlastnikovi souboru *.mpg a zobrazime jeste jednou jeho zkraceny nazev, pokud je tento soubor spatne stazeny (prazdny)." >&2
find . -name "*.mpg" -type f -ls -exec chmod u-w {} \; -size 0c -print
echo "#+++" >&2
echo "### Nejake komentare?" >&2
echo abc # def
echo abc #def
echo abc# def
echo abc\# def
echo abc \# def
echo abc \#def
echo "### Dekuji, komentare jsou vyreseny." >&2
echo "#-" >&2
echo "### Prostredi vyhodnocovani prikazu jsou ruzna, nekdy shell proste nepochopi:" >&2
i=1
i++
echo $i
let i++
echo $i
echo "### UKLID ###" >&2
cd
trap 'echo >&2; echo "### JZd has left the room #3. It is up to you to clean it. ###" >&2; exit 0' INT
read -p "Smazat adresar /tmp/Hudba? [enter=provest, jinak dej ^C]"
chmod u+w /tmp/Hudba/Favourites/*
/bin/rm -r /tmp/abc /tmp/Hudba 2>/dev/null
trap - INT
echo "### JZd has left the room #3. ###" >&2
