Bearbeiten von „Kombination von Befehlen“
Zur Navigation springen
Zur Suche springen
Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 1: | Zeile 1: | ||
[[Kategorie: | [[Kategorie:Tutorial:Konsole]] | ||
[[Übersicht über das Konsolen-Tutorial]] | [[Übersicht über das Konsolen-Tutorial]] | ||
==Vorbemerkung== | ==Vorbemerkung== | ||
Zeile 41: | Zeile 41: | ||
Wir wollen uns merken, wie die Partitionstabellen aller Festplatten aussehen, um bei einem Schadensfall diese evt. reparieren zu können. Das Programm fdisk zeigt uns diese Daten an. Um sie aufzuheben, leiten wir die Ausgabe in eine Datei um: | Wir wollen uns merken, wie die Partitionstabellen aller Festplatten aussehen, um bei einem Schadensfall diese evt. reparieren zu können. Das Programm fdisk zeigt uns diese Daten an. Um sie aufzuheben, leiten wir die Ausgabe in eine Datei um: | ||
<source lang="bash"> | <source lang="bash"> | ||
fdisk -l > | fdisk -l >/home/hardware-info/partitionen_2011_09_08.txt | ||
</source> | </source> | ||
===Here-Dokument=== | ===Here-Dokument=== | ||
Der einfachste Weg, einen mehrzeiligen Text in eine Datei zu schreiben, ist das sogenannte Here-Dokument, das mit <<MARKE eingeleitet und mit MARKE beendet wird. Dies ist vor allem bei Tutorials und in Scripts nützlich. | |||
Dies ist vor allem bei Tutorials und in Scripts nützlich. | |||
====Beispiel==== | ====Beispiel==== | ||
Zeile 59: | Zeile 55: | ||
EOS | EOS | ||
</source> | </source> | ||
Wird die Form <<'MARKE' verwendet, erfolgt keine Expansion von Shell-Variablen, ein '$' wird also als '$' ausgegeben. | Wird die Form <<'MARKE' verwendet, erfolgt keine Expansion von Shell-Variablen, ein '$' wird also als '$' ausgegeben. | ||
<source lang="bash"> | <source lang="bash"> | ||
Zeile 85: | Zeile 79: | ||
Hinweis: Die Option von ls ist die Zahl 1, die Option von wc ist der kleine Buchstabe l. | Hinweis: Die Option von ls ist die Zahl 1, die Option von wc ist der kleine Buchstabe l. | ||
==Bedingte Ausführung== | ==Bedingte Ausführung== | ||
Zeile 107: | Zeile 89: | ||
In anderen Fällen ist es sinnvoll, einen Befehl nur dann auszuführen, wenn der vorausgehende Befehl '''nicht erfolgreich''' war. Das wird mit dem Symbol '||' erreicht: | In anderen Fällen ist es sinnvoll, einen Befehl nur dann auszuführen, wenn der vorausgehende Befehl '''nicht erfolgreich''' war. Das wird mit dem Symbol '||' erreicht: | ||
<source lang="bash"> | <source lang="bash"> | ||
cp -a /etc | cp -a /etc /data/backup || echo "Problem beim Kopieren von /etc" >>/data/backup/log.txt | ||
</source> | </source> | ||
Wenn das Kopieren des Dateibaums von /etc einen Fehler aufwies, wird eine Meldung an eine Logdatei angehängt. | Wenn das Kopieren des Dateibaums von /etc einen Fehler aufwies, wird eine Meldung an eine Logdatei angehängt. | ||
Zeile 114: | Zeile 96: | ||
Es können auch mehrere Befehle in eine Zeile geschrieben werden, das Trennzeichen ist dann ';' | Es können auch mehrere Befehle in eine Zeile geschrieben werden, das Trennzeichen ist dann ';' | ||
<source lang="bash"> | <source lang="bash"> | ||
pushd / | pushd /home/jonny ; tar czf /tmp/home.tgz ; popd | ||
</source> | </source> | ||
Verzeichnis wird gespeichert und ins Verzeichnis / | Verzeichnis wird gespeichert und ins Verzeichnis /home/jonny gegangen, ein Tar-Archiv erzeugt und das vorige Verzeichnis restauriert. | ||