Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.os.unix.linux.misc > #121139
| From | Helmut Waitzmann <nn.throttle@xoxy.net> |
|---|---|
| Newsgroups | de.comp.os.unix.linux.misc |
| Subject | Re: Sonderzeichen in Skripten |
| Date | 2022-02-06 01:48 +0100 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <83fsow6cs2.fsf@helmutwaitzmann.news.arcor.de> (permalink) |
| References | <j57rjoFtefpU1@mid.individual.net> <83mtjja2ua.fsf@helmutwaitzmann.news.arcor.de> <sss3c5.5g8.1@stefan.msgid.phost.de> <83h79i6wc9.fsf@helmutwaitzmann.news.arcor.de> <sth3dk.49g.1@stefan.msgid.phost.de> |
Stefan Reuther <stefan.news@arcor.de>:
>Am 01.02.2022 um 23:44 schrieb Helmut Waitzmann:
>> Stefan Reuther <stefan.news@arcor.de>:
>> Der Text
>>
>>> https://wiki.ubuntuusers.de/Shell/Bash-Skripting-Guide_f%C3%BCr_Anf%C3%A4nger/
>
>Das ist ein Wiki und freut sich bestimmt über deine Verbesserungen.
>
Im Prinzip, ja. Solang da oben drüber aber «Bitte aktiviere
Javascript!» steht, hat es bei mir verloren.
>> ist beim Thema «Quoting» mangelhaft: Er zäumt das Pferd vom
>> falschen Ende auf, weil er das Anführungszeichen («"») als das am
>> besten geeignete Quoting‐Verfahren anführt, obwohl damit längst
>> nicht alle Sonderzeichen ihrer Sonderbedeutung entledigt werden.
>> Im Gegenteil behalten manche Sonderzeichen unter gewissen
>> Umständen ihre Sonderbedeutung.
>>
>> Ein besseres Quoting‐Verfahren ist der Apostroph («'») gemeinsam
>> mit dem umgekehrten Schrägstrich (Backslash, «\»): Damit lassen
>> sich wirklich alle Zeichen ihrer Sonderbedeutung entledigen.
>
>Mit dem Apostroph kannst du keine Strings bauen, die einen
>Apostroph beinhalten.
Der Apostroph kann nicht in Apostrophe eingefasst werden, das ist
richtig: Er beendet statt dessen die Einfassung.
Das ist aber kein Problem, weil Einfassungen keine wort‐trennende
Eigenschaft haben. Deshalb kann man jeden Apostroph unterbringen,
indem man die Einfassung in Apostrophe beendet, den
unterzubringenden Apostroph durch Einfassung in Anführungszeichen
oder durch Voranstellen eines «\» seiner eine Einfassung beginnende
oder endende Wirkung beraubt und anschließend eine neue Einfassung
beginnt.
Beispiel: Der Text
"Konrad!", sprach die Frau Mama,
"Ich geh' aus, und du bleibst da!
Bleib hübsch ordentlich und fromm,
bis nach Haus' ich wieder komm'!"
kann mittels «printf» so ausgegeben werden:
printf '%s\n' \
'"Konrad!", sprach die Frau Mama,' \
'"Ich geh'\'' aus, und du bleibst da!' \
'Bleib hübsch ordentlich und fromm,' \
'bis nach Haus'\'' ich wieder komm'\''!"'
>Mit dem doppelten Anführungszeichen ist das kein Problem: vor
>alles, was Sonderbedeutung hat, einfach ein \: echo "hallo'\"\\"
Ich habe Zweifel daran, dass gerade Anfänger wissen, was bei
Einfassung in Anführungszeichen eine Sonderbedeutung hat.
>Mit Apostroph wäre das echo 'hallo'"'"'"\', ist jetzt nicht
>wirklich besser.
Bei der Einfassung in Apostrophen ist die Regel einfacher: Alles
außer Apostrophe kann in Apostophe eingefasst werden. Eingefasste
Zeichen mit Sonderbedeutung gibt es nicht. Apostrophe können nicht
in Apostrophe eingefasst werden. Sie müssen deshalb entweder in
Anführungszeichen eingefasst oder ohne Einfassung mit einem «\»
maskiert werden.
>> Und so kann man dann in von Skripting‐Anfängern geschriebenen
>> Shell‐Skripten gerne mal
>>
>> … | grep -q -e …
>> if test "$?" -eq 0
>
>Stimmt zwar, würde ich aber nicht diesem Tutorial anlasten. Das ist
>so alt wie der useless-use-of-cat.
Gut möglich. Trotzdem sollte das (ebenso wie useless‐use‐of‐cat) in
einem Tutorial nicht auch noch gelehrt werden, zumal es im Fall der
aktivierten Shell‐Option «-e» zu nicht‐beabsichtigtem Verhalten
führt.
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