Forums Neueste Beiträge
 

alias wird nicht ausgewertet bei "< datei grep foo"

01/09/2011 - 08:28 von Alexander Skwar | Report spam
Hi!

Ich suche etwas in einer Datei. Dazu rufe ich auf:

< datei grep foo

Das mache ich so, weil ich nicht nur nach foo, sondern auch
nach bar, baz, etc, pp suche in "datei".

Nun ist mir gerade aufgefallen, das die Treffer nicht
bunt sind. Sollten sie aber sein, denn:

$ type grep
grep is aliased to `grep --color'

Rufe ich manuell z.B.

< datei grep --color foo

auf, so ist's bunt.

Zum Testen habe ich mal ein

alias G=grep

angelegt und dann

< datei G foo

aufgerufen. Ergebnis: G ist unbekannt.

Warum ist's so, das die Shell hier das alias nicht
zu kennen scheint? Mache ich

G foo datei

so ist der alias G bekannt.

Gruss und Dank,
Alexander

$ echo $BASH_VERSION
3.2.25(1)-release

$ /bin/bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.

$ uname -a
Linux host 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011
x86_64 x86_64 x86_64 GNU/Linux
 

Lesen sie die antworten

#1 Hauke Laging
01/09/2011 - 13:07 | Warnen spam
Alexander Skwar wrote on Donnerstag, 1. September 2011 08:28:

Zum Testen habe ich mal ein

alias G=grep

angelegt und dann

< datei G foo

aufgerufen. Ergebnis: G ist unbekannt.

Warum ist's so, das die Shell hier das alias nicht
zu kennen scheint?



Weil Aliase nicht für Scripte gedacht sind, aus offensichtlichem Grund.

"Aliases are not expanded when the shell is not interactive, unless the
expand_aliases shell option is set using shopt (see the description of
shopt under SHELL BUILTIN COMMANDS below)."


CU

Hauke
http://www.hauke-laging.de/ideen/
D44C 6A5B 71B0 427C CED3 025C BD7D 6D27 ECCB 5814

Ähnliche fragen