PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einer Variablen einen Wert zuweisen



alchimist
19-02-2002, 03:43
Hi Leute,
Ich versuche mich gerade im Shell programmieren und das klappt nicht so wie ich es mir vorstelle.
Ich möchte gerne einer Variablen einen Wert zuweisen aber irgendwie will es nicht.

Ich hätte gerne, dass mir das Ergebnis von
ls -1 ${ziel_dir}/*.mp3 | wc -l
in die Variable anzahl übergeben wird.
Mit meiner Befehlszeile will es nicht wirklich gehen.
#!/bin/bash
anzahl_mp3=ls -1 ${ziel_dir}/*.mp3 | wc -l
echo Anzahl der mp3: $anzahl_mp3

Kann mir denn jmd. helfen :-)

Auserdem wäre ich noch an guten Tutorials zur Shell programmierung interessiert. Wo kann ich denn solche finden?

Danke schon im voraus

mightymike99
19-02-2002, 05:27
Du hast es ja schon fast:

anzahl_mp3=$(ls -1 ${ziel_dir}/*.mp3 | wc -l)

Tutorials:
----------
www.linuxfibel.de
www.64bit.de
www.prolinux.de
Shell Scripting HOWTO(oder so ähnlich) bei linuxdoc.org

Gruß
Tobias

alchimist
19-02-2002, 06:49
Danke mightymike99 für die schnelle antwort.
Ich bin doch noch selberdrauf gekommen (zumindest funktioniert es)
Es ist wohl so, dass ich die falschen Hochkommata verwendet habe also
falsch ist '
richtig ist `
und dann sieht der befeh normalerweise so aus

#!/bin/bash
anzahl_mp3=`ls -1 ${ziel_dir}/*.mp3 | wc -l`
echo Anzahl der mp3: $anzahl_mp3

sauron
19-02-2002, 10:56
Hi,
gibt es da eigentlich Vor- bzw. Nachteile ob man das mit Hochkommas oder mit $(....) macht?

sauron

deac
19-02-2002, 17:45
Es gibt immer von Fall zu Fall nachteile von $() und ``. Musst du immer selbst entscheiden. Übersichtlicher ist meist $(). Aber `` hängt einem nicht so schnell im Auge. Muss man selbst entscheiden.
Aber Beide sind gleichwertig.

fork
20-02-2002, 18:52
Verschachtelung nur bei $(...) möglich.

rup
20-02-2002, 18:56
$(...) ist auch kompatiebel zur Kornshell.

sauron
21-02-2002, 09:06
ahja, so ist das also, danke für die Antworten.

sauron

deac
21-02-2002, 15:04
Original geschrieben von fork
Verschachtelung nur bei $(...) möglich.
Das stimmt nicht.
Auch mit `` kann man verschachteln.

mightymike99
21-02-2002, 16:38
Na Super. Wenn dann die 4. Verschachtelungstiefe erreicht ist, kennst Du Dich dann mit deinen Quotings noch aus? :)

Aber OK:

Verschachtelung nur bei $(...) einfach nutzbar

deac
22-02-2002, 21:28
Original geschrieben von mightymike99
Na Super. Wenn dann die 4. Verschachtelungstiefe erreicht ist, kennst Du Dich dann mit deinen Quotings noch aus? :)

Aber OK: Verschachtelung nur bei $(...) einfach nutzbar
Da lässt sich drüber streiten.;)
Das ist Geschmacksache.
Mein Verschachtelungen sind öfters so komplex, dass es da nicht mehr um ein paar Sticks geht.;)