Shell Scripting Απορια

eCli | Παρ, 11/07/2008 - 19:52 | 1' | 2

$ x=20
$ y=10
$ echo $x
20
$ echo $y
10
$ expr 20 + 10
30
$ expr x + y
expr: non-numeric argument

Η expr ειναι δηλαδη μονο για αριθμους?Αν θελουμε να προσθεσουμε μεταβλητες υπαρχει αντιστοιχη εντολη??

Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

δοκίμασε την τελευταία γραμμή ως εξής:

expr $x + $y

όπως κ στο echo, θέλουν δολάριο μπροστά από το όνομα όταν "αναφέρεσαι" σε αυτές.

Γενικά, αριστερά του = είναι χωρίς δολάριο, πχ:
x = 20

Ενώ δεξιά του = είναι με δολάριο:
z = 30 + $x

μπορεις αν θες να ορισεις μια μεταβλητη z ιση με ενα expr (+-/*) δυο ή περισοτερρων ηδη δηλομενων μεταβλητων, πρεπει να βαλεις το expr σε αυτακια.
πχ:

x=5
y=90
k=56
z=`expr $x + $y + $k`
echo $z
151
θα πρεπει δηλαδη να βαλεις το ολο expr μεσα σε αυτακια (πανω απο το tab) και τις μεταβλητες με το $ ωστε να οριστουν με τις τιμες τους.