Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einleitung
2 Die Installation
3 Erste Schritte
4 Linux als Workstation für Einsteiger
5 Der Kernel
6 Die Grundlagen aus Anwendersicht
7 Die Shell
8 Reguläre Ausdrücke
9 Konsolentools
10 Die Editoren
11 Shellskriptprogrammierung mit der bash
12 Die C-Shell
13 Benutzerverwaltung
14 Grundlegende Verwaltungsaufgaben
15 Netzwerkgrundlagen
16 Anwendersoftware für das Netzwerk
17 Netzwerkdienste
18 Mailserver unter Linux
19 LAMP
20 DNS-Server
21 Secure Shell
22 Die grafische Oberfläche
23 Window-Manager und Desktops
24 X11-Programme
25 Multimedia und Spiele
26 Prozesse und IPC
27 Bootstrap und Shutdown
28 Dateisysteme
29 Virtualisierung und Emulatoren
30 Softwareentwicklung
31 Crashkurs in C und Perl
32 Einführung in die Sicherheit
33 Netzwerksicherheit überwachen
A Lösungen zu den einzelnen Aufgaben
B Kommandoreferenz
C X11-InputDevices
D MBR
E Die Buch-DVDs
F Glossar
G Literatur
Stichwort

Download:
- ZIP, ca. 15,7 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Linux von Johannes Plötner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
geb., mit 2 DVDs
1302 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1704-0
Pfeil 7 Die Shell
  Pfeil 7.1 Was ist eine Shell?
    Pfeil 7.1.1 Eine Shell verlassen
    Pfeil 7.1.2 nologin
    Pfeil 7.1.3 Die Datei /etc/shells
    Pfeil 7.1.4 Die Login-Shell wechseln
  Pfeil 7.2 Welche Shells gibt es?
  Pfeil 7.3 Welche Shell für dieses Buch?
  Pfeil 7.4 Die Konsolen
  Pfeil 7.5 screen
    Pfeil 7.5.1 screen verwenden
  Pfeil 7.6 Die Shell anwenden
    Pfeil 7.6.1 Vor- und Nachteile der Shellskripts
  Pfeil 7.7 Grundlagen der Shellnutzung
    Pfeil 7.7.1 Programme starten
    Pfeil 7.7.2 Kommandos aneinanderreihen
    Pfeil 7.7.3 Mehrzeilige Kommandos
    Pfeil 7.7.4 Alias, shell-intern oder -extern?
    Pfeil 7.7.5 Shell-Aliase
    Pfeil 7.7.6 Verzeichniswechsel
    Pfeil 7.7.7 echo
    Pfeil 7.7.8 Shellvariablen
    Pfeil 7.7.9 Kommandosubstitution
  Pfeil 7.8 Ein- und Ausgabeumlenkung
    Pfeil 7.8.1 Die Ausgabeumlenkung
    Pfeil 7.8.2 Die Fehlerumlenkung
    Pfeil 7.8.3 Die Ausgabe an eine Umlenkung anhängen
    Pfeil 7.8.4 Eine Ausgabe in eine bestehende Datei umlenken
    Pfeil 7.8.5 Die Eingabeumlenkung
  Pfeil 7.9 Pipes
    Pfeil 7.9.1 Duplizierung der Ausgabe mit tee
    Pfeil 7.9.2 Named Pipes (FIFOs)
  Pfeil 7.10 Subshells und Kommandogruppen
  Pfeil 7.11 Effektives Arbeiten mit der Bash
    Pfeil 7.11.1 Die Kommando-History
    Pfeil 7.11.2 Automatische Vervollständigung von Dateinamen
  Pfeil 7.12 xargs
  Pfeil 7.13 Zusammenfassung
  Pfeil 7.14 Aufgaben


Galileo Computing - Zum Seitenanfang

7.10 Subshells und Kommandogruppen  topZur vorigen Überschrift

In der Shell können nicht nur einfach Kommandos aneinandergereiht werden. Es gibt neben den bloßen (bedingten) Aneinanderreihungen von Kommandos nämlich noch zwei Möglichkeiten, dies zu organisieren.

Prozessgruppe

Die erste Möglichkeit ist eine Prozessgruppe. Diese Prozessgruppe beinhaltet dabei die aneinandergereihten Prozesse. Dies bietet dem Anwender neue Möglichkeiten, etwa die Ausgabeumlenkung für die gesamte Prozessgruppe. Eine Prozessgruppe wird durch zwei geschweifte Klammern begrenzt. Innerhalb der Prozessgruppe können die in Abschnitt 7.2.2 besprochenen Bedingungen zur Ausführung (etwa das Semikolon zur unbedingten Ausführung) verwendet werden.

$ { ls; uname } | tee log.txt
CVS
Makefile
TODO
ZEITPLAN
anhg_komref.tex
...
Linux

Listing 7.57  Prozessgruppe

Ohne Prozessgruppe müsste nun die Ausgabe jedes Prozesses explizit umgelenkt werden, aber mit der Prozessgruppe benötigen wir nur eine Ausgabeumlenkung, die wir in diesem Fall durch eine Pipe mit tee ersetzt haben.

Subshell

Startet man hingegen durch Verwendung normaler Klammern eine komplette Subshell (und damit einen neuen Prozess mit eigenen Bereichen im Stack) für eine Prozessgruppe, so erhält diese Subshell auch ihre eigenen Variablen.


Wenn Sie also in der Subshell die Werte von Variablen verändern, so ändern sich die Werte nicht in der Parent-Shell.


user$ katze=Felix
user$ ( katze=Mauzi; echo $katze )
Mauzi
user$ echo $katze
Felix
user$ { katze=Minka ; echo $katze }
Minka
user$ echo $katze
Minka

Listing 7.58  Das unterschiedliche Verhalten mit Shellvariablen


Später werden wir uns noch mit der unterschiedlichen Nutzung von lokalen und globalen Variablen in Shellskriptfunktionen beschäftigen.


Prozessgruppen im Hintergrund

Prozessgruppen können problemlos im Hintergrund gestartet werden. Möchten Sie beispielsweise eine länger dauernde Dateisuche im Hintergrund ablaufen lassen, ist dies möglich, indem Sie die Anweisung, den Prozess im Hintergrund zu starten (&), hinter die schließende Prozessgruppenklammer stellen: { find / -name Dateiname ; find / -name DateinameB &}



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Linux, Ausgabe 2011






Linux, Ausgabe 2011
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux-Server






 Linux-Server


Zum Katalog: Linux Hochverfügbarkeit






 Linux Hoch-
 verfügbarkeit


Zum Katalog: LPIC-1






 LPIC-1


Zum Katalog: Debian GNU/Linux






 Debian GNU/Linux


Zum Katalog: openSUSE 11.2






 openSUSE 11.2


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2011
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de