sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #85974
Re: Bash-mystik - eller er det xview der driller ?
Jørgen Heesche wrote:
Jan Holst Jensen wrote:
skip
Det kan godt være at det er konsistent opførsel, men
det er altså dybt ulogisk. Er der nogen der kan give
en logisk sammenhængende forklaring på bash's opførsel
? Eller er svaret bare: Skriv alle dine scripts i
Python :-) ?
Det en helt konsistent og 100% logisk opførsel, som virker på samme måde
i alle
scriptsprog, også Phyton.
Det er vist på tide at tydeliggøre brugen af bagvendt skråstreg (back
slash). I kildeprogramtekster (Shell-scripts, C, PHP, Python, osv.) skal
tekststrenge markeres med anførselstegn. Disse anførselstegn indgår ikke
i teksten. Hvis tekststrengen reelt skal indeholde et anførselstegn,
bruges en back slash.
Eks. "Dette er en tekst med anførselselstegn \" inkluderet".
Hvis \ udelades bliver teksten spoleret.
Så er der filer med mellemrun i navnet, f.eks. 01 januar.jpg
Et sådant filnavn skal, for at opfattes som ét navn, markeres med
anførselstegn: ls "01 januar.jpg". Hvis man skriver ls \"01 januar.jpg\"
betyder det at filnavnet stadig opfattes som to navne: "01 og
januar.jpg". Konstruktionen ls "\"01 januar.jpg\"", resulterer i et
filnavn med anførselstegn omkring, og den fil eksisterer ikke.
Problemet med mellemrum i filnavne kan også løses på en anden måde ved
hjælp af \
I filnavnet 01 janunar.jpg indsættes en \ foran mellemrummet,
01\ januar.jpg. Så vil mellemrummet indgå i navnet, og ikke, som
normalt i shell, virke som skilletegn.
Metoden kan dog kun bruges manuelt for én fil ad gangen.
--
Med venlig hilsen
Jørgen Heesche
mailto:heesche@xxxxxxxxxxx
Registered Linux User #401007
Follow ups
References