Portál AbcLinuxu, 26. prosince 2025 13:51
NCoda se jmenuje. Můj první script, ve kterém používám svoje oblíbené if a elif.
No a protože je to poprvé, tak samozřejmě (alespoň u mě) špatně. Hodí mi chybu:
/home/david/Apps/bin/ncoda: line 152: syntax error: unexpected end of fileZ toho soudím, že tam něco chybí. No, doufám, že mi poradíte. Tady to je. Prosím neřvete na mě ohledně toho, že by to šlo celý napsat jinak - zatím je to jen pro mě a plánuju to radikálně vylepšit. Ale návrhy na zlepšení samo uvítám.
Předem díky.
elif [ $1 == "wma2wav" ]; then
for F in *.[wW][mM][aA]
do
mplayer "$F" -ao pcm
mv audiodump.wav "${F%%.*}.wav"
done
# Nápověda etc.
else
echo "..."
fi
exit 0a když nezadám parametr hodí to chyby:
/home/david/Apps/bin/ncoda: line 5: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 18: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 31: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 39: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 52: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 65: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 73: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 83: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 88: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 96: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 104: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 113: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 123: [: ==: unary operator expected /home/david/Apps/bin/ncoda: line 133: [: ==: unary operator expecteda až nakonec ten help.
Už snad nic nepodělám.
$1 == deps jelo i jako --deps abych to nemusel pokaždý psát znova? {deps,--deps} mi nejde. :/
if [ "${a#--}" = deps ]; then ...
if [ "${1#--}" = deps ]; then ...
case?
case $1 in
#*) echo "Bla bla bla"
# pripadne kecy na zacatku
mp32ogg) # prikazy pro MP3 >> OGG
;; # stopnout vyhodnocovani
mp32mpc) # ...
;;
# atd.
*) echo Usage: # atd.
esac
Jinak jsem si nedávno psal skriptík pro přihlašování do sítě VUT, který mi vyhazoval furt tu samou hlášku - chyběla tam uzavírací složená závorka.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.