[pacman-dev] [PATCH] bash_completion: remove absolute utility paths again

Jim Pryor lists+pacman-dev at jimpryor.net
Thu Feb 25 19:23:39 EST 2010

On Fri, Feb 26, 2010 at 09:56:05AM +1000, Allan McRae wrote:
> On 26/02/10 08:57, Cedric Staniewski wrote:
> >On 25.02.2010 23:44, Allan McRae wrote:
> >>On 26/02/10 08:23, Cedric Staniewski wrote:
> >>>The location of the used utilities may and does differ between various
> >>>distributions and therefore absolute paths do not work well. Since the
> >>>main purpose of its introduction was to avoid side-effects caused by
> >>>aliases, it is sufficient to disable possible aliases temporarily by
> >>>preceding the commands with a backslash.
> >>
> >>That seems fine to me.  Just one check.  How long has that syntax been
> >>available (i.e. is it a bash4ism)?
> >>
> >>Allan
> >
> >Just tested it on GNU bash, version 3.2.39(1)-release and it works. So I
> >guess it's safe to use.
> >
> Well, I am happy using this then.  The lack of documentation for
> this feature may be a slight concern, but given it has been
> supported by bash for a long time, I think we can rely on it.

I've seen this documented before. I don't remember where, but before
bash 4. I just checked the Advanced Bash Scripting guide, and the Bash
Reference Manual, and didn't find it there. I see in the bash manpage

> Aliases allow a string to be substituted for a word when it is used as
> the first  word  of  a  simple command.  The shell maintains a list of
> aliases that may be set and unset with the alias and unalias builtin
> commands (see SHELL  BUILTIN COMMANDS below).  The first word of each
> simple command, if unquoted, is checked to see if it has an  alias.   If
> so,  that word  is replaced  by the text of the alias.

which arguably says that alias expansion won't occur on \echo or "echo".
However, I did encounter a more explicit explanation of this somewhere
or other...

Sorry I hadn't been following the discussion that led up to this.

Jim Pryor
profjim at jimpryor.net

More information about the pacman-dev mailing list