amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > Quoting in Shell-Skripten [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2004-01-28, 17:05 h

_nexus_
Posts: 164
User
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

[ - Answer - Quote - Direct link - ]

2004-01-28, 18:06 h

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

[ - Answer - Quote - Direct link - ]

2004-01-28, 19:47 h

Palgucker
Posts: 1342
User
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

[ - Answer - Quote - Direct link - ]

2004-01-28, 21:40 h

Holger
Posts: 8116
User
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. ]

[ - Answer - Quote - Direct link - ]

2004-01-29, 05:40 h

Mad_Dog
Posts: 1944
User
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

[ - Answer - Quote - Direct link - ]

2004-01-29, 11:26 h

_nexus_
Posts: 164
User


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

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > Quoting in Shell-Skripten [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.