On Apr 9, 2005 4:41 PM, Richard Fish <[EMAIL PROTECTED]> wrote:
> Maxim Vexler wrote:
>
> >I can't quite understand the purpose of this "(alias; declare -f)"
> >expression.
> >
> >
>
> If you don't have any aliases or functions defined in your shell, you
> won't see anything from running 'alias; declare -f'.
>
> An example:
>
> ~ > alias e='echo'
> ~ > e foo
> foo
> ~ > f() {
> > echo "function"
> > }
> ~ > f
> function
> ~ > alias ; declare -f
> alias e='echo'
> f ()
> {
> echo "function"
> }
>
> -Richard
>
> --
> [email protected] mailing list
>
>
Oh, ok.
I think I got it:
"(alias; declare -f)" is a method of piping to the stdin of [which]
all the functions & alias's that the user has defined.
Then using the --read-alias --read-functions the [which] program knows
to include those in her search path when queried.
The "export -f which" causes the shell to replace the bin which
program with the function "which".
Talk about shell judo...
neat!
Thank you for helping.
--
Cheers,
Maxim Vexler (hq4ever).
Do u GNU ?
--
[email protected] mailing list