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

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

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

Spacer
Linux von Johannes Plötner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
Galileo Computing
1282 S., 5., aktualisierte Auflage 2012, geb., mit 2 DVDs
49,90 Euro, ISBN 978-3-8362-1822-1
Pfeil 11 Shellskriptprogrammierung mit der bash
Pfeil 11.1 Das erste Shellskript
Pfeil 11.2 Kommentare
Pfeil 11.3 Rechnen in der Shell
Pfeil 11.3.1 Integer-Variablen
Pfeil 11.3.2 expr
Pfeil 11.3.3 Den bc nutzen
Pfeil 11.4 Arrays
Pfeil 11.5 Bedingte Anweisungen
Pfeil 11.5.1 if
Pfeil 11.5.2 case
Pfeil 11.6 Schleifen
Pfeil 11.6.1 while
Pfeil 11.6.2 until
Pfeil 11.6.3 for
Pfeil 11.6.4 seq – Schleifen mit Aufzählungen
Pfeil 11.7 Menüs mit select
Pfeil 11.8 break
Pfeil 11.9 Funktionen
Pfeil 11.9.1 Eine simple Funktion
Pfeil 11.9.2 Funktionsparameter
Pfeil 11.9.3 Rückgabewerte
Pfeil 11.10 Temporäre Dateien
Pfeil 11.11 Syslog-Meldungen via Shell
Pfeil 11.12 Pausen in Shellskripte einbauen
Pfeil 11.13 Zusammenfassung
Pfeil 11.14 Aufgaben

Galileo Computing - Zum Seitenanfang

11.4 Arrays

Mit Arrays haben wir uns bereits im Zusammenhang mit der Skriptsprache awk auseinandergesetzt. Nun werden wir auf Arrays in der Shell eingehen. Ein Array ist auch hier eine Zusammenfassung von mehreren Variablen zu einer einzigen. Dabei wird auch in der Shell auf die Werte elementweise zugegriffen.

Werte zuweisen

Um einem Array Werte zuzuweisen, benutzt man im einfachsten Fall folgende Schreibweise:

Listing 11.13 Zuweisen von Elementen

NamensArray=(Alfredo Berta Carsten Diana ...)

Es ist jedoch auch möglich, gezielt Array-Elemente mit neuen Werten zu belegen. Dafür verwendet man eckige Klammern wie in awk:

Listing 11.14 Einen Wert an Element 2 zuweisen

name[2]="Max Musterman"

Auf Werte zugreifen

Um nun auf die gesetzten Werte zuzugreifen, wird die Schreibweise

Listing 11.15 Auf Array-Elementwerte zugreifen

${name[2]}

genutzt. Es ist jedoch auch möglich, alle Array-Elemente auf einmal ausgeben zu lassen. Dazu verwendet man das Stern-Zeichen (*).

Listing 11.16 Alle Array-Elemente ausgeben

$ usrbinprogs=(`/bin/ls /usr/bin`)
$ echo ${usrbinprogs[*]}
Mail a2p addftinfo addr2line afmtodit afslog apply
apropos ar arch as asa asn1_compile at atq atrm aucat
audioctl awk b64decode b64encode banner basename
batch bc bdesbiff c++ c++filt c2ph cal calendar
cap_mkdb captoinfo cc cdio checknr chflags chfn
chpass chsh ci clear cmp co col colcrt colrm column
comm compile_et compress cpan cpp crontab ctags cu
cut cvs cvsbug dbmmanage dc deroff diff diff3 dirname
dprofpp du egrep elf2olf enc2xs encrypt env eqn ex
...
...

Anzahl der Elemente

Die Anzahl der Elemente eines Arrays kann abgefragt werden, indem man in der »Gib alle Elemente aus«-Schreibweise noch eine Raute einfügt. Verwenden wir nun das Array aus dem letzten Listing für diese Abfrage, so zeigt uns die Ausgabe, dass sich unter OpenBSD-3.6 ganze 387 Dateien im Verzeichnis /usr/bin befinden.

Listing 11.17 Elementanzahl

$ echo ${#usrbinprogs[*]}
387

Länge eines Elements

Um die Zeichenlänge eines Elements herauszubekommen, so verwendet man anstelle des Sterns bei der Abfrage der Elementanzahl einfach die Nummer des Elements: ${#usrbinprogs[2]}

Elemente löschen

Möchte man einzelne Elemente oder ein komplettes Array löschen, verwendet man unset für diese Aufgabe:

Listing 11.18 unset versteht keinen Spaß.

$ unset usrbinprogs[2]
$ echo ${#usrbinprogs[*]}
386
$ unset usrbinprogs
$ echo ${#usrbinprogs[*]}
0


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
Linux
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: Linux-Server einrichten und administrieren
                  mit Debian 6 GNU/Linux






 Linux-Server einrichten
 und administrieren mit
 Debian 6 GNU/Linux


Zum Katalog: LPIC-1






 LPIC-1


Zum Katalog: LPIC-2






 LPIC-2


Zum Katalog: Webserver einrichten und administrieren






 Webserver einrichten
 und administrieren


Zum Katalog: Apache 2.4






 Apache 2.4


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2012
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