[pacman-dev] [PATCH] bash_completion: remove absolute utility paths again
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)?
> >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
Sorry I hadn't been following the discussion that led up to this.
profjim at jimpryor.net
More information about the pacman-dev