Fórum Ubuntu CZ/SK

Ostatní => Archiv => Téma založeno: von_Tros 22 Března 2007, 00:26:43

Název: bash - nefunkcni prikazy (let: not found)
Přispěvatel: von_Tros 22 Března 2007, 00:26:43
Dobry den,
pouzivam Ubuntu 6.10. Zacal jsem programovat v shellu a sekl jsem se na necem, co jsem fakt necekal.

Nechce mne fungovat jednoducha inkrementace. Kdyz to pisu postupne do terminalu, tak vse funguje, ale jakmile to sepisu vse do jednoho souboru(test.sh) a spustim, tak to pise, ze nenalezl prikaz "let".

BTW nenarazil jsem zatim na nic jineho, co by me nefungovalo, krom problemu s promennyma....
a jinak kdyz jsem uvedeny kod, zkousel bez (#!/bin/sh) tak to na jinych OS fungovalo, doufam ze ted tady nemam preklep. #!/bin/bash jsem taky zkousel.

sh test.sh

#!/bin/sh
x=0
echo $x
let "x=x+1"
echo $x

vypise mne to:

0
test.sh: 4: let: not found
0

v pripade:

#!/bin/sh
x=0
echo $x
((x=x+))
echo $x

to vypise:
0
0


Dekuji za radu ci odkaz - jestli uz to tady bylo reseno, ale hledal jsem a nic jsem nenasel krom zmen #!/bin/sh #!/bin/bash. ;-)
Název: bash - nefunkcni prikazy (let: not found)
Přispěvatel: fritzek 22 Března 2007, 01:01:28
A co to napsat takhle pro sh(funguje i v bash):

Kód: [Vybrat]
#!/bin/sh
x=0
x=$(($x+1))
echo $x
To by melo fungovat jak v sh, tak v bashi.

Jinak let mi na Ubuntu jede jenom v bashi. Kdyz jsem zkousel na BSD, tak tam s podivem v bash i v sh. Jsem z toho dost zmateny. Zrejme jine verze
Název: bash - nefunkcni prikazy (let: not found)
Přispěvatel: von_Tros 22 Března 2007, 23:10:07
Dik, tohle uz funguje, ale netusim, proc to moje nefunguje :/