[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Tilde is expanded in $PATH, inconsistent behavior
From: |
Lawrence Velázquez |
Subject: |
Re: Tilde is expanded in $PATH, inconsistent behavior |
Date: |
Thu, 23 Jan 2025 20:30:21 -0500 |
On Thu, Jan 23, 2025, at 6:37 PM, Keith Thompson wrote:
> Description:
> A literal '~' or other tilde-prefix at the beginning of an
> element of $PATH is expanded when a command is executed
> from the bash prompt. This is undocumented and inconsistent with
> the behavior of other commands that can execute commands.
>
> This expansion doesn't happen when bash is invoked as "/bin/sh"
> (which is a symlink to bash on some systems).
The texinfo documentation mentions it as something that is disabled
in POSIX mode:
19. Literal tildes that appear as the first character in
elements of the `PATH' variable are not expanded as
described above under Tilde Expansion.
https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html
> There could be existing code that depends on it -- which I
> suppose argues against removing it at all. The documentation
> should at least mention that the expansion occurs and discuss
> this inconsistent treatment of $PATH by bash vs. other tools.
Perhaps this is another $[...] situation -- keeping the feature
around for compatibility, but leaving it undocumented to discourage
users from learning about and using it.
--
vq