[linux-l] which, whence, type (was: find -> updatedb+locate)

Mike Dornberger Mike.Dornberger at gmx.de
Di Dez 12 17:12:41 CET 2006


Hi,

On Tue, Dec 12, 2006 at 01:06:56PM +0100, Sven Guckes wrote:
> * Detlef Lechner <Detlef.Lechner at gmx.net> [2006-12-12 12:25]:
> > Am Dienstag, den 12.12.2006, 01:13 +0100 schrieb Sven Guckes:

[mal noch schnell die Attributierungen wieder reinnehmen...]
> > > * Detlef Lechner <Detlef.Lechner at gmx.net> [2006-12-11 22:20:10 +0100]:
> > > > * Sven Guckes <maillist-belug at guckes.net> [2006-12-11 16:00:42 +0100]:

> > > > > fuer die suche nach ausfuehrbaren dateien
> > > > > im $PATH gibt es ein eigenes programm: which
> > > > Bei Debian und Ubuntu heißt es jedenfalls 'which'.
> > > naja.. ob eine "which" zum ausfuehren gefinden wird,
> > > das haengt halt von der shell ab, die du benutzt.
> > > ash, bash, csh, dish, ksh, pdksh, rc,
> > > sh, tcsh, zsh - such dir eine aus!
> >
> > Ich suche mir keine aus. Debian und Ubuntu haben sich
> > für bash als Default entschieden. Dabei bleibe ich.
> 
> "which" ist bei bash aber keine interne funktion,

> darum kann ein "which foo" dir ein "/usr/bin/foo" liefern - aber wenn
> du "foo" eingibst, dann schlaegt ein alias bzw eine funktion zu. :-P

> da lobe ich mir das "whence" in der zsh, denn das
> kann aliase und funktionen zur laufzeit erkennen.

kann man unter der bash mit type rausfinden:

$ type which
which is hashed (/usr/bin/which)
$ type ls
ls is aliased to `ls --color=auto'
$ type type
type is a shell builtin

Schade nur, daß es nur eine [1]unspezifizierte XSI-Erweiterung zum
POSIX-Standard ist. "The type utility shall indicate..." :-(

  [1] http://www.opengroup.org/onlinepubs/000095399/utilities/type.html

Viele Grüße,
 Mike




Mehr Informationen über die Mailingliste linux-l