Portál AbcLinuxu, 20. dubna 2024 00:02


Dotaz: Vysvětlení chyb

18.2.2014 13:38 ZAK
Vysvětlení chyb
Přečteno: 233×
Odpovědět | Admin
Dobrý den.

Poradíte mě prosím proč jsou tyto tři příklady špatně?
1) if [ $n -eq 1 ]...    # v $n je číslo 
2) . /foo/bar/$filename  # v $filename je /add/file
3) VAR=/a/b/c/d
Předem děkuji. PS: je mi devět, tak abych to pochopil ;)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Tarmaq avatar 18.2.2014 15:01 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Vysvětlení chyb
Odpovědět | | Sbalit | Link | Blokovat | Admin
jak konkretne se ma projevovat, ze jsou spatne? Mne funguji vsechny tri.
$ cat /foo/bar/cesta/soubor
#!/bin/bash

n=1
if [ $n -eq 1 ]; then
    echo 'jo'
fi
$ omg=/cesta/soubor
$ . /foo/bar/$omg
jo
Don't panic!
18.2.2014 15:15 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Vysvětlení chyb
  1. uvozovky kolem "$n" by byly lepší (je tam sice napsáno, že tam má číslo…)
  2. určitě uvozovky $filename může obsahovat třeba mezeru, bez nich je to blbě snad vždy.
  3. doplnil bych uvozovky nebo apostrofy
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
18.2.2014 15:33 Jirka
Rozbalit Rozbalit vše Re: Vysvětlení chyb
Odpovědět | | Sbalit | Link | Blokovat | Admin
1) a 2) mohou za jistých okolností selhat, např. když je proměnná prázdná nebo n není celé. co může být špatně na 3) opravdu netuším. všechny 3 příklady se celkem běžně používají a nic strašného na nich není, i když by jistě šly napsat lépe.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.