Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.os.unix.linux.misc > #121016
| From | Helmut Waitzmann <nn.throttle@xoxy.net> |
|---|---|
| Newsgroups | de.comp.os.unix.linux.misc |
| Subject | Re: Sonderzeichen in Skripten |
| Date | 2022-01-25 23:05 +0100 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <83mtjja2ua.fsf@helmutwaitzmann.news.arcor.de> (permalink) |
| References | <j57rjoFtefpU1@mid.individual.net> |
Albrecht Mehl <unvalid@invalid.invalid>: >Auf der Seite > > >https://de.moyens.net/linux/die-bash-sonderzeichen-die-sie-kennen-sollten/ > >sind etliche erklärt. Diese Seite lohnt sich nicht, zu lesen: Sie ist in wirklich lausigem Deutsch verfasst und erklärt auch inhaltlich nichts gescheit. Beispielsweise der Abschnitt «Rohre» (pipes) bringt im Rahmen seines Versuchs, Rohre zu erklären, plötzlich den Begriff «Pfeife», ohne zu sagen, was er bedeutet, und erklärt auch nicht, was beim Verbinden zweier Prozesse mit einem Rohr wirklich geschieht. Wer mit dem Bash programmieren will, muss dessen Sprache sowohl nach ihrer Syntax (also der sprachlichen Grammatik) als auch nach ihrer Semantik (also ihrer Wirkung) verstehen. Dazu ist es vor allem wichtig, Unix oder Linux zu verstehen: welche Systemfunktionen es den auf ihm laufenden Programmen und damit auch dem Bash – anbietet und, was die Systemfunktionen bewirken. Dann kann man beim Bash sehen, dass einige dieser Systemfunktionen – leider nicht alle – sich in der Programmiersprache «bash» niederschlagen. Irgendwelche Kochrezepte für «bash»‐Skripte reichen da nicht aus, um ein Verständnis der Materie zu gewinnen. >Nicht gesehen habe ich aber > > > - & am Ende eines Befehls > Das bedeutet, dass der Shell den Befehl als neuen Prozess startet, und, dass der Shell nicht wartet, bis der neue Prozess zu Ende gekommen sein wird, sondern sofort mit der weiteren Abarbeitung des Shell‐Skripts fortfährt. Wenn der Shell sein Skript mit abgeschaltetem Job‐Control abarbeitet – das ist bei Shell‐Skripten der Normalfall –, sagt das «&» dem Shell außerdem, dass er den Befehl mit auf das Gerät «/dev/null» umgelenkter Standardeingabe starten soll. Wenn der Befehl dann also etwas aus seiner Standardeingabe lesen will, wird er nichts erhalten, weil man aus «/dev/null» nichts herauslesen kann. Beispiel: Der Befehl rm -i -- eine_Datei & startet das «rm»‐Programm. Der Parameter «-i» veranlasst das Programm, nachzufragen, ob es die Datei «eine_Datei» wirklich entfernen soll: Der Anwender muss dann ein «y» (für «yes», in deutscher Spracheinstellung möglicherweise auch «j» für «ja») eintippen, wenn er die Datei wirklich entfernt haben will. Weil die Standardeingabe aber von «/dev/null» statt vom Terminal («/dev/tty») lesen will, wird das Programm «rm» keine Antwort – genau genommen: die leere Antwort – erhalten und deshalb davon absehen, die Datei «eine_Datei» zu entfernen. > - && zwischen zwei Befehlen. Unterschied zu ; ? > Jeder Befehl im Shell liefert bei seinem Ende dem Shell eine Zahl ab, exit status genannt. Per allgemeiner Konvention bedeutet der Wert 0, dass der Befehl seine Aufgabe hat fehlerfrei durchführen können. Alle anderen Werte zeigen per Konvention an, dass der Befehl gescheitert ist. (Aber lies vor Verwendung eines Befehls immer in seinem Handbuch nach, welche Zahlen bei ihm welche Bedeutung haben!) Der zusammengesetzte Befehl erster_Befehl && zweiter_Befehl weist den Shell an, den ersten Befehl zu starten, auf sein Ende zu warten, den exit status entgegenzunehmen und anschließend den zweiten Befehl nur dann zu starten, wenn der exit status des ersten Befehls 0 war. Wenn hingegen «;» statt «&&» dasteht, hängt es von der mit den Shell‐Befehlen set +e bzw. set -e gemachten Einstellung ab, ob der Shell (im Fall «set +e») den zweiten Befehl ungeachtet des exit status' des ersten Befehls immer startet oder (im Fall «set -e») im Fall, dass der exit status des ersten Befehls nicht 0 war, davon absieht, den zweiten Befehl zu starten sondern sich statt dessen selber beendet.
Back to de.comp.os.unix.linux.misc | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Sonderzeichen in Skripten Albrecht Mehl <unvalid@invalid.invalid> - 2022-01-24 15:32 +0100
Re: Sonderzeichen in Skripten Marco Moock <mo01@posteo.de> - 2022-01-24 15:51 +0100
Re: Sonderzeichen in Skripten Helmut Waitzmann <nn.throttle@xoxy.net> - 2022-01-25 23:05 +0100
Re: Sonderzeichen in Skripten Hermann Riemann <nospam.ng@hermann-riemann.de> - 2022-01-26 10:48 +0100
Re: Sonderzeichen in Skripten Stefan Reuther <stefan.news@arcor.de> - 2022-01-26 18:19 +0100
Re: Sonderzeichen in Skripten Andreas Kohlbach <ank@spamfence.net> - 2022-01-26 15:35 -0500
Re: Sonderzeichen in Skripten Helmut Waitzmann <nn.throttle@xoxy.net> - 2022-02-01 23:44 +0100
Re: Sonderzeichen in Skripten Stefan Reuther <stefan.news@arcor.de> - 2022-02-03 17:29 +0100
Re: Sonderzeichen in Skripten Helmut Waitzmann <nn.throttle@xoxy.net> - 2022-02-06 01:48 +0100
Re: Sonderzeichen in Skripten Arno Welzel <usenet@arnowelzel.de> - 2022-02-09 14:08 +0100
Re: Sonderzeichen in Skripten Hermann Riemann <nospam.ng@hermann-riemann.de> - 2022-02-09 14:56 +0100
Re: Sonderzeichen in Skripten Arno Welzel <usenet@arnowelzel.de> - 2022-02-09 15:43 +0100
Re: Sonderzeichen in Skripten Hermann Riemann <nospam.ng@hermann-riemann.de> - 2022-02-09 16:13 +0100
Re: Sonderzeichen in Skripten Arno Welzel <usenet@arnowelzel.de> - 2022-02-10 17:35 +0100
Re: Sonderzeichen in Skripten Marcus Jodorf <trap@killfile.de> - 2022-02-11 17:08 +0100
Re: Sonderzeichen in Skripten Arno Welzel <usenet@arnowelzel.de> - 2022-02-12 11:04 +0100
Re: Sonderzeichen in Skripten Albrecht Mehl <unvalid@invalid.invalid> - 2022-02-12 14:21 +0100
Re: Sonderzeichen in Skripten Martin Schnitkemper <news.trash.5.mschnitk@spamgourmet.com> - 2022-02-12 23:36 +0100
Re: Sonderzeichen in Skripten Arno Welzel <usenet@arnowelzel.de> - 2022-02-13 11:16 +0100
Re: Sonderzeichen in Skripten Michael Schütz <der.schultze@web.de> - 2022-01-27 07:17 +0100
Re: Sonderzeichen in Skripten Dr Eberhard W Lisse <nospam@lisse.NA> - 2022-01-30 23:53 +0200
Re: Sonderzeichen in Skripten JJenssen <joemajen@arcor.de> - 2022-01-31 11:18 +0100
csiph-web