sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #66666
Re: at kommando i et script
Ole Kofoed Hansen <ole@xxxxxxxxxxxxxxx> writes:
> OK, jeg var forsigtig, og ville ikke love for meget. Jeg troede ikke
> shellen behandlede et "here doc".
Det er endda specificeret af SUSv3 og altså ikke en
bash-specialitet. Det er i øvrigt en lidt speciel definition:
If any character in /word/ is quoted, the delimiter shall be formed
by performing quote removal on /word/, and the here-document lines
shall not be expanded. Otherwise, the delimiter shall be the /word/
itself.
(/word/ angiver det der står efter <<)
Altså:
brother@tyge$ cat <<HERE
> $PATH
> $SHELL
> HERE
/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/brother/bin
/bin/bash
brother@tyge$ cat <<'HERE'
> $PATH
> $SHELL
> HERE
$PATH
$SHELL
brother@tyge$ cat <<HER'E'
> $PATH
> $SHELL
> HERE
$PATH
$SHELL
brother@tyge$
Den sidste finder jeg spøjs. Gad vide om der er noget rationale for
ikke at nøjes med at tillade de to første tilfælde? Læg også mårke til
at den ikke skelner mellem 'HERE' og "HERE" som perl for eksempel gør.
--
Peter Makholm | If you can't do any damage as root, are you still
peter@xxxxxxxxxxx | really root?
http://hacking.dk | -- Derek Gladding about SELinux
References