Variablen fuellen mit Rückgabewerten

wie ist noch mal die syntax
um eine temporäre Variable mit dem rückgabe wert eines Befehls zu füllen?

Beispiel:

Ich möchte meine Variable mytemp
mit dem Rückgabewert der Anweisung

mv test.file test2.file

füllen.

Ciao

Mario

Hallo Mario

ich will mich jetzt nicht festlegen, aber der Rückgabewert, des letzten Prozesses, in dem Fall von mv, wird automatisch in die Variable $$ oder $? (bin mir da grade nicht ganz sicher) geschrieben.
Ein Blick in die bash manpage sollte da auf jeden Fall weiter helfen.

Grüße
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

wie ist noch mal die syntax
um eine temporäre Variable mit dem rückgabe wert eines Befehls
zu füllen?

Beispiel:

Ich möchte meine Variable mytemp
mit dem Rückgabewert der Anweisung

mv test.file test2.file

füllen.

Mytem=mv test.file test2.file

beliebige commandos

werden zuerst ausgeführt dann erfolgt zuweisung auf Variabele

echo $Mytemp

Liefert die Ausgabe

Sollte das wieder Erwarten nicht klappen

Dann Die hingefummelte Variante

mv test.file test2.file>/Mytemp.$$
cat /Mytem.$$

Phagsae

Hallo Mario

ich will mich jetzt nicht festlegen, aber der Rückgabewert,
des letzten Prozesses, in dem Fall von mv, wird automatisch in
die Variable $$ oder $? (bin mir da grade nicht ganz sicher)
geschrieben.
Ein Blick in die bash manpage sollte da auf jeden Fall weiter
helfen.

Grüße
Martin

Oki genau wollte ich wissen.

Werds Montag gleich ausprobieren

Dank Dir

Mario

Hallo,

Ich möchte meine Variable mytemp
mit dem Rückgabewert der Anweisung
mv test.file test2.file
füllen.

Mytem=mv test.file test2.file

beliebige commandos
werden zuerst ausgeführt dann erfolgt zuweisung auf Variable

An der Bash geht alternativ statt Hochkommata (kann ja kein Mensch lesen…) auch $(command)
Beispiel:
[onde@haktar:onde]$ tmp=$(ls)
[onde@haktar:onde]$ echo $tmp
Bloß keine Whitespaces vor und nach dem „=“ !

Gruß
Andreas

Moin,

ich will mich jetzt nicht festlegen, aber der Rückgabewert,
des letzten Prozesses, in dem Fall von mv, wird automatisch in
die Variable $$ oder $? (bin mir da grade nicht ganz sicher)
geschrieben.

Ist es nicht „$?“ ?

Gruß
Andreas

Ahhhh jetzt…
Was du meinst ist der Exit Status oder ?
der ist in der Shell variable $?

Phagsae

hmm - hab das gerade alles mal ausprobiert.

Bisher war nichts dabei was meine Frage beantworted.(ksh)

erstes Beispiel

mytemp=‚mv test.file test2.file‘
echo $mytemp
ergebnis:
mv test.file test2.file

zeites Bsp.

mv test.file test2.file > mytemp.$$
erzeugt ein leeres file
mytemp.26061
cat mytemp.26061

Ich hatte als Rückgabewert eine 0 oder 1 erwarted, bzw. einfach irgend eine gleichbleibende Zahl an der ich ein errorhandlich festmachen kann.

hmm - hab das gerade alles mal ausprobiert.

Bisher war nichts dabei was meine Frage beantworted.(ksh)

ksh ist schon mal ein Hinweis :smile:

erstes Beispiel

Sorry hab das mal ins Blaue geschrieben

mv verhält sich da zickig sprich bricht ab das klappt dann so nicht

mytemp=‚mv test.file test2.file‘
echo $mytemp
ergebnis:
mv test.file test2.file

zeites Bsp.

mv test.file test2.file > mytemp.$$
erzeugt ein leeres file

Jo is klar sollte >> statt > bringt aber auch nix wegen mv

mytemp.26061
cat mytemp.26061

Ich hatte als Rückgabewert eine 0 oder 1 erwarted, bzw.
einfach irgend eine gleichbleibende Zahl an der ich ein
errorhandlich festmachen kann.

Ja wie schon erwähnt echo $? liefert den Exit Status
( Das klappt hab ich in der ksh probiert )

Schnellversion für zB wenn fehler dann mache:

mv test1 test2 || (kdo liste)

Phagsae

Ahhhh jetzt…
Was du meinst ist der Exit Status oder ?
der ist in der Shell variable $?

Phagsae

hm ja den habe ich gemeint ,-)

aber wenn ich zb: mv irgendwas irgendwasanderes
schreib

und dann ein echo $

eingeben - ist die $ Variable trotz allem lehr

ciao

Mario

Ahhhh jetzt…
Was du meinst ist der Exit Status oder ?
der ist in der Shell variable $?

Phagsae

hm ja den habe ich gemeint ,-)

aber wenn ich zb: mv irgendwas irgendwasanderes
schreib

und dann ein echo $

ahhhhhhhh…casus knaxus…

Das Fragezeichen muss sein!!!

Die Exit variable ist „$?“

Phagsae