amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Quoting in Shell-Skripten [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

28.01.2004, 17:05 Uhr

_nexus_
Posts: 164
Nutzer
Gibt es eigentlich irgendwo eine brauchbare Anleitung, wie man am besten Shell-Skripte unter AmigaOS schreibt?

Momentan habe ich das Problem nicht zu wissen, wie man richtig "quoted" (AmigaDOS und Arexx).

Beispielsweise in Kommandozeile:

rx "ADDRESS WORKBENCH; WINDOW WINDOWS 'ram:' OPEN;"

funktioniert noch, d.h. " und ' können sich zum bzgl "quoting" beinhalten. Was aber wenn man mehrer Anführungszeichen benötigt?

Selbst ein einfaches beispiel mit dem Befehl "echo" (funktioniert so nicht - in *nix verwendet man das "" )

Echo "Ich möcht die Anführungszeichen " ' mit Echo ausgeben"

Wie funktionieren tiefere Verschachtelungen?:

Echo "rx "ADDRESS WORKBENCH; WINDOW WINDOWS 'ram:' OPEN;" "

(funktioniert ebenfalls so nicht)


Wie macht man das richtig?

Danke für eure Hilfe.


nexus.


--
dye' em black!

http://www.net-eclipse.de ,
http://www.noize-magazine.de

[ - Antworten - Zitieren - Direktlink - ]

28.01.2004, 18:06 Uhr

Solar
Posts: 3680
Nutzer
ARexx Handbuch, Kapitel 3.1.3 "Zeichenfolgen", Ende 1. Absatz (Begrenzungszeichen zweimal eingeben).
AmigaDOS Handbuch, Kapitel D.3 "Escape-Sequenzen", letzter Absatz (*").

[ - Antworten - Zitieren - Direktlink - ]

28.01.2004, 19:47 Uhr

Palgucker
Posts: 1342
Nutzer
Auch wenn Solar eigendlich alles gesagt hat, bleibt vielleicht noch anzumerken,
das alle quotierungen nochmal von Anführungsstrichen eingesclossen sein müssen.

Bleistift:

echo "unquoted *" quoted *" doublequoted *"*""

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

28.01.2004, 21:40 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von _nexus_:
Beispielsweise in Kommandozeile:

rx "ADDRESS WORKBENCH; WINDOW WINDOWS 'ram:' OPEN;"

funktioniert noch, d.h. " und ' können sich zum bzgl "quoting" beinhalten.

Echo "rx "ADDRESS WORKBENCH; WINDOW WINDOWS 'ram:' OPEN;" "
(funktioniert ebenfalls so nicht)


Für nur einen externen Befehl kann man übrigends auch den Befehl direkt an die address-Anweisung als Argument übergeben, somit braucht man keine semikolons, und die WB-Syntax läßt sich auch vereinfachen:
code:
rx "address workbench window 'ram:' open"


Bzw. für den echo Befehl:
code:
echo "rx *"address workbench window 'ram:' open*""


mfg
--
Good coders do not comment. What was hard to write should be hard to read too.


[ Dieser Beitrag wurde von Holger am 28.01.2004 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

29.01.2004, 05:40 Uhr

Mad_Dog
Posts: 1944
Nutzer
Eine brauchbare Anleitung zu Shell-Skrips ist das AmigaDos Handbuch. Drin findest Du auch einige Beispielskripte. Als Tip: Das Sternchen verhält sich in AmigaDos Strings so, wie Backslash in C.

Also

code:
echo "Hello World"

ergibt

Hello World
code:
echo "*"Hello World*""

ergibt

"Hello World"

--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

29.01.2004, 11:26 Uhr

_nexus_
Posts: 164
Nutzer


Okay, vielen Dank an alle.

Der Hinweis mit dem doppeltem Quotieren, war besonders nützlich!

nexus.
--
dye' em black!

http://www.net-eclipse.de ,
http://www.noize-magazine.de

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Quoting in Shell-Skripten [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.