Stammtisch 2024-07-26: Unterschied zwischen den Versionen
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 41: | Zeile 41: | ||
Plocki hält lediglich einen kurzen Abriss, da Ulf hier in nachfolgenden Treffen tiefer einsteigen wird. | Plocki hält lediglich einen kurzen Abriss, da Ulf hier in nachfolgenden Treffen tiefer einsteigen wird. | ||
− | Es ist geplant, dass wir gemeinsam in den nächsten Wochen ein Skript schreiben werden. Und hier ist das Folgende wichtig. | + | Es ist geplant, dass wir gemeinsam in den nächsten Wochen ein Backup-Skript schreiben werden. Und hier ist das Folgende wichtig. |
Jedes Programm, das ausgeführt und später beendet wird, gibt einen sogenannten ''Exit-Code'' zurück (Deutsch: Rückgabewert). | Jedes Programm, das ausgeführt und später beendet wird, gibt einen sogenannten ''Exit-Code'' zurück (Deutsch: Rückgabewert). | ||
− | Natürlich würde man diesen | + | Natürlich würde man diesen ''Exit-Code'' im Nachhinein nicht jedes Mal händisch abfragen. Doch wenn wir ein Skript erstellen wollen, welches zuverlässig Backups erstellt, sollten wir diese Abfrage des Exit-Codes einbauen, um sicherzustellen, dass die im Skript enthaltenen Befehle auch erfolgreich abgeschlossen wurden. |
Mal angenommen, ich habe den Befehl ''ls'' (gefolgt von einer Option – hier ''-l'') eingegeben, um eine Liste von enthaltenen Verzeichnissen und Dateien eines bestimmten Pfades zu erhalten – dazu bin ich erst einmal in das entsprechende Verzeichnis gewechselt: | Mal angenommen, ich habe den Befehl ''ls'' (gefolgt von einer Option – hier ''-l'') eingegeben, um eine Liste von enthaltenen Verzeichnissen und Dateien eines bestimmten Pfades zu erhalten – dazu bin ich erst einmal in das entsprechende Verzeichnis gewechselt: | ||
− | <$> holger@holger:~> '''cd''' ~/LINUX-SCHULE (Wechsel vom Home-Verzeichnis ('''~''') ins Unterverzeichnis "LINUX-SCHULE") | + | <$> holger@holger:~> '''cd''' ~/LINUX-SCHULE (Wechsel vom Home-Verzeichnis ('''~''') ins Unterverzeichnis "/LINUX-SCHULE") |
<$> holger@holger:~/LINUX-SCHULE> '''ls -l''' | <$> holger@holger:~/LINUX-SCHULE> '''ls -l''' | ||
insgesamt 4 | insgesamt 4 | ||
Zeile 56: | Zeile 56: | ||
Mit dem Befehl ''echo'', nach einem Leerzeichen gefolgt von einem Dollar- und Fragezeichen ('''$?''') | Mit dem Befehl ''echo'', nach einem Leerzeichen gefolgt von einem Dollar- und Fragezeichen ('''$?''') | ||
− | <$> echo '''$?''' | + | <$> holger@holger~/LINUX-SCHULE> echo '''$?''' |
''0'' | ''0'' | ||
− | erhalten wir den Fehlercode '''0'''. Im Gegensatz zur DOS-Welt | + | erhalten wir den Fehlercode '''0'''. |
− | <$> '''man ls''' | + | |
+ | Im Gegensatz zur DOS-Welt – unter DOS steht die Null für einen Fehler ("false") und die eins (1) für "wahr", – wogegen unter [https://de.wikipedia.org/wiki/Unixoides_System ''unixoiden Betriebssystemen''] (wie Linux eines ist) die Null (''0'') für "wahr" und die eins (''1'') für einen weniger schweren und die zwei (''2'') für einen schwereren Fehler steht. | ||
+ | |||
+ | Bei der Ausgabe einer '''0''' (Null) heißt das unter Linux – und im speziellen Fall des Befehls ''ls'' – , dass "alles in Ordnung ist"; siehe Manpage von ''ls'' unter "Rückgabewert": | ||
+ | <$> holger@holger:~/LINUX-SCHULE> '''man ls''' | ||
... | ... | ||
Rückgabewert: | Rückgabewert: | ||
Zeile 70: | Zeile 74: | ||
fehlszeilenargument). | fehlszeilenargument). | ||
− | Wenn wir jetzt aber mit dem Befehl ''ls'' eine Datei (oder auch ein Verzeichnis) aufrufen wollen, | + | Wenn wir jetzt aber mit dem Befehl ''ls'' eine Datei (oder auch ein Verzeichnis) aufrufen wollen, welche '''gar nicht existent ist''' (z. B. die Datei "Dokumentemacs.txt" – ohne Unterstrich zwischen "Dokument" und "emacs"), wird die Datei natürlich nicht gefunden: |
<$> holger@holger:~/LINUX-SCHULE> '''ls Dokumentemacs.txt''' | <$> holger@holger:~/LINUX-SCHULE> '''ls Dokumentemacs.txt''' |
Aktuelle Version vom 28. Juli 2024, 22:28 Uhr
26.07.2024 - 20:00 Uhr, Online-Stammtisch auf https://bbb.ch-open.ch/rooms/ulf-nm2-y26/join
wöchentlicher onlineStammtisch
Auf dem Stammtisch Mai 2020 beschlossener wöchentlicher Stammtisch jeden Freitag ab 20:00 Uhr anstelle des monatlichen Stammtisches im realen Leben.
Anwesende
- Holger
- Plocki
- Bertram
- Klaus
- Manfred
- Rainer
Themen
Vor-Ort-Stammtischtreffen wiederbeleben
Klaus fragt, wer der (heute wenigen) Anwesenden interessiert wäre, einmal wieder einen realen Stammtisch zu besuchen. Es muss auch noch geklärt werden, ob dieser Real-Stammtisch an einem Freitag (statt des Online-Treffens), oder gar an einem anderen Wochentag stattfinden soll.
Bislang haben Ulf, vor allem Klaus und Rainer, aber auch Bertram Interesse bekundet. Wie genau und wo und wie oft die Realtreffen stattfinden sollen / können, muss noch im Auge behalten und geklärt werden.
Holger wird daher in der Mailing-Liste nachfragen und die Interessierten sind gebeten, das im Auge zu behalten und voranzutreiben.
Mikrofon bei Ubuntu (Version?)
Manfred nimmt teil, jedoch ist seine Mikrofon-Qualität und auch die Lautstärke sehr schlecht. Er ist kaum zu verstehen. Holger bittet ihn, sein Mikrofon lauter zu stellen, doch Manfred weiß nicht wie das geht. Erklären hilft nicht viel, weil die Verständigung erschwert ist und Holger bittet ihn, seinen Bildschirm zu teilen. Doch auch das gelingt Manfred nicht. Kurz darauf ist die Verbindung getrennt und ein erneutes Einloggen mit Mikrofon gelingt Manfred nicht mehr.
Kleine Shelleinführung – Teil 5: Argumente und Exit-Codes
Plocki hält lediglich einen kurzen Abriss, da Ulf hier in nachfolgenden Treffen tiefer einsteigen wird.
Es ist geplant, dass wir gemeinsam in den nächsten Wochen ein Backup-Skript schreiben werden. Und hier ist das Folgende wichtig.
Jedes Programm, das ausgeführt und später beendet wird, gibt einen sogenannten Exit-Code zurück (Deutsch: Rückgabewert). Natürlich würde man diesen Exit-Code im Nachhinein nicht jedes Mal händisch abfragen. Doch wenn wir ein Skript erstellen wollen, welches zuverlässig Backups erstellt, sollten wir diese Abfrage des Exit-Codes einbauen, um sicherzustellen, dass die im Skript enthaltenen Befehle auch erfolgreich abgeschlossen wurden.
Mal angenommen, ich habe den Befehl ls (gefolgt von einer Option – hier -l) eingegeben, um eine Liste von enthaltenen Verzeichnissen und Dateien eines bestimmten Pfades zu erhalten – dazu bin ich erst einmal in das entsprechende Verzeichnis gewechselt:
<$> holger@holger:~> cd ~/LINUX-SCHULE (Wechsel vom Home-Verzeichnis (~) ins Unterverzeichnis "/LINUX-SCHULE") <$> holger@holger:~/LINUX-SCHULE> ls -l insgesamt 4 -rw-r--r-- 1 holger users 61 23. Jul 00:05 Dokument_emacs.txt
Im Ordner LINUX-SCHULE befindet sich lediglich das Textdokument "Dokument_emacs.txt" (mit trennendem Unterstrich).
Mit dem Befehl echo, nach einem Leerzeichen gefolgt von einem Dollar- und Fragezeichen ($?)
<$> holger@holger~/LINUX-SCHULE> echo $? 0
erhalten wir den Fehlercode 0.
Im Gegensatz zur DOS-Welt – unter DOS steht die Null für einen Fehler ("false") und die eins (1) für "wahr", – wogegen unter unixoiden Betriebssystemen (wie Linux eines ist) die Null (0) für "wahr" und die eins (1) für einen weniger schweren und die zwei (2) für einen schwereren Fehler steht.
Bei der Ausgabe einer 0 (Null) heißt das unter Linux – und im speziellen Fall des Befehls ls – , dass "alles in Ordnung ist"; siehe Manpage von ls unter "Rückgabewert":
<$> holger@holger:~/LINUX-SCHULE> man ls ... Rückgabewert: 0 wenn alles in Ordnung ist, 1 bei kleineren Problemen (z. B. kein Zugriff auf Unterver‐ zeichnis), 2 bei ernsthaften Schwierigkeiten (z. B. kein Zugriff auf Be‐ fehlszeilenargument).
Wenn wir jetzt aber mit dem Befehl ls eine Datei (oder auch ein Verzeichnis) aufrufen wollen, welche gar nicht existent ist (z. B. die Datei "Dokumentemacs.txt" – ohne Unterstrich zwischen "Dokument" und "emacs"), wird die Datei natürlich nicht gefunden:
<$> holger@holger:~/LINUX-SCHULE> ls Dokumentemacs.txt ls: Zugriff auf 'Dokumentemacs.txt' nicht möglich: Datei oder Verzeichnis nicht gefunden
Und fragen wir nun erneut mit echo $?
den Exit-Code (Rückgabewert) ab, haben wir folgende Ausgabe:
<$> holger@holger:~/LINUX-SCHULE> echo $? 2
Also, den Fehlercode 2 ("ernsthafte Schwierigkeiten) ...
Plocki ging auch noch auf Argumente ein, siehe kleine Shelleinführung Teil 5. Dabei ist das erste Argument (in unserem Beispiel $0) immer der Befehl / Dateiname, und danach kommen (beliebig viele) Argumente mit den folgenden Ausgaben: $1 = Argument 1, $2 = Argument 2, $3 = Argument 3, und so weiter ...).
Argumente müssen durch ein Leerzeichen getrennt sein. Besteht ein Argument aber aus mehr als einem Wort, so müssen diese Wörter in Anführungsstriche (") eingerahmt werden, damit sie auch als ein Argument behandelt werden.
Zurück zur Übersicht