##
## Domaci ukol:
## 
# hw3.1) Vypište detaily (ala ls -l) všech složek (pouze složek) v pracovním adresáři.
ls -ld */
# nebo
ls -l | grep '^d'

# hw3.2) touch skript.sh, nastavte prava aby:
# vlastník mohl číst a spouštět
# členové skupiny ho mohli upravovat a číst
# ostatní jen spouštět?
# textova
chmod u=rx,g=wr,o=x skript.sh
# osmickove = 4 * read + 2 * write + 1 * execute
chmod 561 skript.sh

# hw3.3) touch skript.sh, nastavte prava aby:
touch -d "1993-03-11 15:04:00" skript.sh

##
## Cviceni:
## 

#
# skryte soubory
#

touch .a
ls -la


#
# promenne a quoting
#

# promenne jsou vzdy textove, netypovane, by default prazdne
A=ahoj

# rozmyslete jake jsou rozdily mezi nasledujicimi prikazy a co PRESNE se deje
# viz sekce 2.1 a 2.2 z
# http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html
echo rikam $A
echo "rikam $A"
echo 'rikam $A'
echo 'rikam "$A"'
echo "rikam '$A'"

X='10'
# 10*10
echo "$X*$X"
# 10x10
echo "$Xx$X" # <--- nefunguje, proc? (promenna Xx je prazdna by default)
# lepsi
echo "${X}x$X"

# expanze prikazu
echo "tohle je $(hostname)"
# nebo ekvivalentne (starsi, min citelny konstrukt)
echo "tohle je `hostname`"

# vytvorte soubor co se jmenuje '-rf $HOME'
> '-rf $HOME'

# smazte ho
# pozor, pred spoustenim se zamyslete jestli je to dobry napad
# a treba si to zkuste s echo misto rm.
# Jake argumenty dostava rm v kazdem z pripadu?
# Rozmyslete:
rm -rf $HOME
rm "-rf $HOME"
rm '-rf $HOME'
rm './-rf $HOME'


#
# skripty
#
# prvni radek je shebang a interpret
cat > skript.sh <<KONEC
#!/bin/sh
echo "promenna A=$A"
echo "dnes je $(date)"
KONEC

# spusteni uvnitr soucasneho shellu
A=test
# tzn, jako copy paste prikazu ze souboru
. skript.sh

# pro spusteni interpretem specifikovanym na prvni radce skript.sh (shebang)
chmod +x skript.sh
./skript.sh

# je ekvivalentni:
/bin/sh skript.sh

#
# PATH
# 

# proc nemuzu napsat
skript.sh
# ale muzu napsat?
cat skript.sh

# shell nevi, kde program jmenem skript.sh hledat
# ve standartni ceste $PATH neni:
which skript.sh
which cat 

# muzeme ho tam pridat
# pri spusteni se shell automaticky inicializuje souborem $HOME/.bashrc
# stejne jako bychom to udelali takhle:
. $HOME/.bashrc

mkdir $HOME/bin
echo 'PATH="$HOME/bin:$PATH"' >> $HOME/.bashrc
mv skript.sh $HOME/bin

# ted uz to funguje:
which skript.sh
# a
skript.sh

