Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: honzikPP 14 Října 2009, 13:17:52
-
Momentalne sa len ucim scriptovat v bashi tak ma prosim nelyncujte.
Vsetko by to fungovalo ale nemozem sa dopatrat k tomu preco mi to vypisuje chybu. Problem je niekde bud v druhej podmienke if alebo v definovanej podmienke "podm(){while read line..." jednie o co mi ide je aby to na konci zmeny riadkov na md5 vypisalo, ze sa to ukoncilo.
#!/bin/sh
if ! [ $# -eq 2 ];
then
echo "---------------------"
echo -n "Script zadavaj v tvare: "
echo -e "\033[1m$0 vstupny_subor vystupny_subor\033[0m"
echo ""
else
podm ()
{
while read line
do
echo $line | md5sum >> $2
done < '$1'
}
if podm;
then
echo "Dokoncene"
fi;
fi
-
pokud uzavres $1 do 'jednoduchych' uvozovek, tak se $1 nesubstituuje
-
aj po odstraneni tych uvodzoviek to hlasi ambigous redirect. :-\
-
ad.1) man bash ## a zejmena volbu -x
ad.2) set -x
ad.3) while block; do block; done < file ## pokud nemas file, tak musis udelat emulaci pres fd aka <(block) .. takze < <(echo $1)
ad.4) a nebo muzes udelat .. echo $1 | while read line; do ..; done