Shell und Ergebnisse in Variablen speichern -

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
shevegen
Beiträge: 416
Registriert: 30.03.2004 00:32:53

Shell und Ergebnisse in Variablen speichern -

Beitrag von shevegen » 29.07.2004 17:15:25

Hi!

Ok, da der Titel hier scripting ist, ich suche eine Mini Lösung für die Probleme:


1) Ein script soll auf das ERGEBNIS eines grundlegenden Linux Kommandos reagieren können. Beispiel:
whereis firefox
Ergebnis:

/usr/bin/firefox

Das Ergebnis will ich verwenden können, zBsp
mv ERGEBNIS /old

Anderes Beispiel wäre:
pwd
und dann dieses Ergebnis für irgendwas nutzen können.

Wie kann ich über die shell diese Variablen speichern? Mir sind - glaube ich - nur die Argumente $1 $2 etc.. bekannt.


2) Ich will auf der STDIN nur Fehlermeldungen sehen (bei einem script). Läuft alles gut, soll auf STDIN nix erscheinen. Das script regelt zB das Kompilieren von ein paar kleinen Programmen.
Wie verknüpf ich das ?
hmm 1>STDIN wirds nit sein


grüsse

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Re: Shell und Ergebnisse in Variablen speichern -

Beitrag von Joghurt » 29.07.2004 17:29:57

shevegen hat geschrieben:1) Ein script soll auf das ERGEBNIS eines grundlegenden Linux Kommandos reagieren können.
Du meinst die Ausgabe? Das kannst du mit Backticks (`) oder mit $() erreichen:

Code: Alles auswählen

mv `whereis firefox` /old   #oder
mv $(whereis firefox) /old
Wie kann ich über die shell diese Variablen speichern? Mir sind - glaube ich - nur die Argumente $1 $2 etc.. bekannt.
Einfach zuweisen:

Code: Alles auswählen

A=Hallo
B=$(pwd)
echo $A $B # Ausgabe: Hallo [verzeichnis]

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Re: Shell und Ergebnisse in Variablen speichern -

Beitrag von Joghurt » 29.07.2004 17:33:22

shevegen hat geschrieben:2) Ich will auf der STDIN nur Fehlermeldungen sehen (bei einem script). Läuft alles gut, soll auf STDIN nix erscheinen. Das script regelt zB das Kompilieren von ein paar kleinen Programmen.
Wie verknüpf ich das ?

Code: Alles auswählen

befehl 2>&1 > /dev/null
hierbei auf die Reihenfolge achten! erst >& und dann >

Benutzeravatar
shevegen
Beiträge: 416
Registriert: 30.03.2004 00:32:53

Beitrag von shevegen » 31.07.2004 16:57:46

Ja, ich meinte die Ausgabe.

Herzlichen Dank!

Antworten