Nem ennél a kódnál, hanem egy hosszabb lélegzetűnél némi átírás után hosszú ")" vadászat volt, hogy vajh' melyiknek veszett el valahogy a párja, de nem.
A probléma az alábbi példában:
var='---'
case "$1" in
ok)
echo -n '('; echo -n $var; echo ')' # hosszú
exit;;
fail)
echo '('$var')' # a kérdéses sor
exit;;
esac
A "kérdéses sor" gedit-ben a bezárójel után string kezdetet értelmez.
Futtatáskor vagy végrehajtja, vagy hibával kiszáll - unexpected ")" - ez rendszerindításonként heurisztikus.
Ha nem gömbölyű bezárójel van, akkor nincs gond.
A "case - esac"-on kívül nem volt ilyen probléma.
Most már bévül sem lesz, mert "hosszú" beírást fogok alkalmazni ahol szükséges.
- 3933 megtekintés
Hozzászólások
echo "(${var})" ?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
a várt válasz: (---)
Most az elvárásnak megfelelő eredményt kapom mindkét esetben, annak ellenére, hogy a szövegszerkesztő szerint hibás a kérdéses sor (ubuntu 12.04).
- A hozzászóláshoz be kell jelentkezni
Arra gondoltam, hogy ez a sor egy megoldas lenne. Azt csinalja, amit szeretnel, mellekhatasok nelkul.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Az a vicc, hogy nem látom a problémát, pedig nagyon erőltetem: visszamentem 2.05b.0(1)-es bash-ig, és megdolgoztam ksh-val is, de gond nélkül fut.
Kifogtál valami bugos darabot.
- A hozzászóláshoz be kell jelentkezni
Valami ilyesmi, most egyáltalán nem jön elő a hiba, még az "eredeti" problémás scriptben sem.
- A hozzászóláshoz be kell jelentkezni