Re: [PATCH] Update bash completions to prevent unbound variable errors.
- From
Adeodato Simó <dato@net.com.org.es>
- Date
- Jan 12, 2009, 21:40 UTC
- Message-ID
- <20090112214052.GB24941@chistera.yi.org>
- In-Reply-To
- <496BA0E4.2040607@tedpavlic.com>
* Ted Pavlic [Mon, 12 Jan 2009 14:58:28 -0500]:
I don't know if this patch will go forward or not, but there are several instances of spurious ${x-}, eg.:
> __gitdir ()
> {
> - if [ -z "$1" ]; then
> + if [ -z "${1-}" ]; thenGiven the above...
Show 7 quoted lines
> - elif [ -d "$1/.git" ]; then
> - echo "$1/.git"
> + elif [ -d "${1-}/.git" ]; then
> + echo "${1-}/.git"
> else
> - echo "$1"
> + echo "${1-}"... this other hunk is redundant, because if [ -z "${1-}" ] fails, then $1 is surely set.
Show 5 quoted lines
> __git_ps1 ()
> {
> local g="$(git rev-parse --git-dir 2>/dev/null)"
> - if [ -n "$g" ]; then
> + if [ -n "${g-}" ]; thenSpurious, $g is always set here.
> @@ -111,8 +111,8 @@ __git_ps1 ()
> - if [ -n "$1" ]; then
> + if [ -n "${1-}" ]; thenThis one is okay...
> - printf "$1" "${b##refs/heads/}$r"
> + printf "${1-}" "${b##refs/heads/}$r"But this one is unnecessary, if [ -n "${1-}" ] succeeds, then $1 is set.And so on.
--
Adeodato Simó dato at net.com.org.es
Debian Developer adeodato at debian.org
The true teacher defends his pupils against his own personal influence.
-- Amos Bronson Alcott