seltsames tcsh-Verhalten

09/07/2009 - 21:22 von Christoph Weber-Fahr | Report spam
Hallo,

ich habe gerade unter einer tcsh folgendes Kommando eingegeben:

grep -E '^[!#]' squid.conf

(ja ich weiss, die regex tut nicht was ich dachte dass sie tut.
da muss ein ^ statt des ! hin. Das ist aber nicht das Problem).

Zu meinem Erstaunen hat die Shell aber stattdessen flgendes ausgeführt:

grep -E '^[grep -E]' squid.conf

jetzt war mein Weltbild dass eine shell jeglichen Text zwischen
Hochkommas in Ruhe làsst.

Gilt das nicht für history substitutions? Oder was ist hier passiert?

Gruß

Christoph Weber-Fahr
 

Lesen sie die antworten

#1 Alexander Bartolich
10/07/2009 - 01:57 | Warnen spam
Christoph Weber-Fahr schrieb:
[...]
jetzt war mein Weltbild dass eine shell jeglichen Text zwischen
Hochkommas in Ruhe làsst.

Gilt das nicht für history substitutions? Oder was ist hier passiert?



Ja, das ist eine Eigenart der tcsh.

man tcsh
# History substitution
# [...]
# History substitutions begin with the character '!'. They may begin
# anywhere in the input stream, but they do not nest. The '!' may be
# preceded by a '\' to prevent its special meaning; for convenience,
# a '!' is passed unchanged when it is followed by a blank, tab,
# newline, '=' or '('.

seq 100 | sed 's/.*/Romani Ite Domum./'

Ähnliche fragen