Bash segítség!


if [ -d "${HOME}/vp21/bin.lnx" ]; then
echo RUN
else
cd /usr/share/vp21
./install.sh
fi
...

Eree miért mondja, hogy "syntax error near unexpected token 'else'"?

Hozzászólások

amit echozni akarsz, azt szokás zárojelbe tenni, nem?

A kód jó és működik nálam:

if [ -d "${HOME}/vp21/bin.lnx" ]; then
echo RUN
else
cd /bin/
tail ~/.bashrc
fi

if [ -d "/bin" ]; then
echo RUN
else
cd /bin/
tail ~/.bashrc
fi

nem biztos hogy értem, de az az else nem az instal.sh-ban van?


nem biztos hogy értem, de az az else nem az instal.sh-ban van?

Kösz a tippet!
Ez az install.sh egy másik program forrásában van (bináris) és ha jól emlékszem, egy cp utasítás van benne egy if szerkezetben.
Bár az idézett kód 3. sorára (itt van az else) hivatkozik a hibaüzenet.

nem bash hanem programok, illetve hivatkozások egymásra, distrótól függően vagy külön program vagy csak paraméterekkem megfelelően a másik kimenetét utánozva formáz, ja igen ezek bináris adatot alakítanak olvasható formává, tehát pl hexa dumpot ír ki, vagy akár visszafele is működik talán az xxd, de man többet elárul:)

Kell az a ";" a then ele? Mintha ujabb parancs jonne abban a sorban.

egy od-val megnezhetned a sorvegeket
a shell erzekeny a 0xd / 0xa keveredesekre..

csak egy tipp

ubiban alapból valami dash van ami symlinkel a /bin/sh -ra, szóval
dpkg-reconfigure dash
ekkor simán a /bin/sh bash lesz, ugyanis a legtöbb ilyen telepítő dash al nem igazán megy :>

Core2Duo T7100, 2.5G, Ubuntu 8.04, 2.6.27.6