[gnu.bash.bug] Possible bug in bash -- basename

djc@kesa.UUCP (Don Christensen) (11/22/89)

First, I am running bash 1.04 on a 386 clone and Interactive
UNIX sysVr3.2.

While using a script which called "basename", I noticed the following
problem:

In ksh:

prompt> echo `/bin/basename /usr/local`
local
prompt>

In bash:

prompt> echo `/bin/basename /usr/local`
.
prompt>


No matter what the argument to basename is under bash, the response is
always '.', even when it is assigned to a variable.  Has anyone else
noticed this problem?  Some may suggest work-arounds, but I need basename
to work since it is in a bunch of installed shell scripts.

The sysV basename is a shell script.  You will have to find it yourself
since it is proprietary to AT&T.

Any help will be greatly appreciated.

Thanks,
	Don
-- 
Don Christensen                | UUCP:       ...{sun}!daver!kesa!djc 
Kesa Corporation               | Internet:   djc@kesa.UUCP
Santa Clara, CA (209) 944-7068 | Home Phone: (415) 966-1842

greg@kesa.UUCP (Greg Onufer) (11/23/89)

From article <179@kesa.UUCP>, by djc@kesa.UUCP (Don Christensen):
> 
> First, I am running bash 1.04 on a 386 clone and Interactive
> UNIX sysVr3.2.
> 

Same problem, same machine, but simplified:

Sample script:
		FOO=$1
		echo ${1:-EMPTY}             <=== Does not work
		echo ${FOO:-EMPTY}	     <=== Does work

Pass the script one argument and notice the results... If the ${:-}
construct is used with $1, it thinks $1 is empty.  If the same
construct uses $FOO (which is a copy of $1), it works as expected.
This is what causes /bin/basename on 386ix to work incorrectly.
Did I fix it?  I looked in expand_word_internal and decided to leave it
to someone who knows what they are doing!

Sample Output:
		cheers% bugscript foo
		EMPTY
		foo
		cheers%

Cheers!greg

chet@cwns1.CWRU.EDU (Chet Ramey) (11/28/89)

In article <180@kesa.UUCP> greg@kesa.UUCP (Greg Onufer) writes:

>		echo ${1:-EMPTY}             <=== Does not work

I have sent a fix for this to Brian.

Chet Ramey

-- 
Chet Ramey
Network Services Group				"Where's my froggie?"
Case Western Reserve University
chet@ins.CWRU.Edu