Bug#621121: marked as done (bash: Test text equivalency and parameter expansion fails - example included)
Your message dated Sat, 30 Mar 2013 14:18:24 -0700
with message-id <20130330211824.GA5161@elie.Belkin>
and subject line Re: Dash as a default shell
has caused the Debian Bug report #621121,
regarding bash: Test text equivalency and parameter expansion fails - example included
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)
--
621121: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=621121
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: bash: Test text equivalency and parameter expansion fails - example included
- From: Dean Allen Provins <dprovins@alumni.ucalgary.ca>
- Date: Wed, 06 Apr 2011 09:21:56 -0600
- Message-id: <20110406152156.3126.62677.reportbug@ve6wvc.telusplanet.net>
Package: bash
Version: 4.1-3
Severity: normal
Text equivalency should use '==' (as per man page and before Deb 6),
but now needs '='.
Parameter expansion as per man page uses ${param:start:length} and worked prior
to Debian 6, but now fails miserably.
--------------Example code follows for file test.sh--------------
#!/bin/sh
# Execute via "sh test.sh"
#
# Note that Bash' manual says '==' is used to test for
# string (in)equality. It used to work, but now does not.
#
# The Parameter Expansion section of the Bash man page says
# that ${parameter:offset:length} is the correct format
# to extract a substring. It used to work, but now does
# not.
A="asd"
if [ $A = "asd" ]; then # Why must '==' be '=' to work correctly?
echo "EQUAL"
else
echo "NOT EQUAL"
fi
R=$(/sbin/runlevel)
echo "runlevel = $R"
S=${R:2:1} # What is wrong with this?
echo "runlevel is actually $S"
-------------end of example code illustrating bad behaviour-----
-- System Information:
Debian Release: 6.0.1
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=en_CA.utf8, LC_CTYPE=en_CA.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages bash depends on:
ii base-files 6.0squeeze1 Debian base system miscellaneous f
ii dash 0.5.5.1-7.4 POSIX-compliant shell
ii debianutils 3.4 Miscellaneous utilities specific t
ii libc6 2.11.2-10 Embedded GNU C Library: Shared lib
ii libncurses5 5.7+20100313-5 shared libraries for terminal hand
Versions of packages bash recommends:
ii bash-completion 1:1.2-3 programmable completion for the ba
Versions of packages bash suggests:
pn bash-doc <none> (no description available)
-- no debconf information
--- End Message ---
--- Begin Message ---
tags 621121 - moreinfo
quit
Hi,
David Prévot wrote:
>> On Wed, Apr 06, 2011 at 01:00:42PM -0500, Jonathan Nieder wrote:
>>> Before squeeze you probably didn't run into problems because bash was
>>> the default system shell. Do you have any ideas about how we can make
>>> this changed default more visible? (It was documented in dash's
>>> NEWS.Debian.gz but perhaps that is not visible enough.)
>
> Is this issue still relevant for Wheezy? I suspect it isn’t
Yeah, this report was specific to lenny-to-squeeze upgrades, and I
agree that that ship has sailed. Closing.
Thanks for writing,
Jonathan
--- End Message ---
Reply to: