Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #15781 > unrolled thread
| Started by | Eli Schwartz <eschwartz@archlinux.org> |
|---|---|
| First post | 2019-12-25 23:31 -0500 |
| Last post | 2019-12-25 23:31 -0500 |
| Articles | 1 — 1 participant |
Back to article view | Back to gnu.bash.bug
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: possible bug in Bash 5.0 Eli Schwartz <eschwartz@archlinux.org> - 2019-12-25 23:31 -0500
| From | Eli Schwartz <eschwartz@archlinux.org> |
|---|---|
| Date | 2019-12-25 23:31 -0500 |
| Subject | Re: possible bug in Bash 5.0 |
| Message-ID | <mailman.1440.1577334721.1979.bug-bash@gnu.org> |
[Multipart message — attachments visible in raw view] — view raw
On 12/25/19 5:41 PM, Xin Wu wrote: > Hi, > > I found the single-bracket [ ... ] and double-bracket [[ ... ]] behave > differently for string comparison in the follow simple Bash-script. > > # comma (,) is before two (2) in ASCII > a=,rst > b=2rst > if [ "$a" \> "$b" ]; then > echo "single-bracket" > fi > if [[ "$a" > "$b" ]]; then > echo "double-bracket" > fi > > According to some web pages I was expecting that single-bracket and > double-bracket should give same result. I'm not a Bash-expert, therefore > I'm not sure whether this is a real bug in Bash 5.0. > > Merry Christmas! > > Xin > > PS: the web pages are: > > * http://tldp.org/LDP/abs/html/comparison-ops.html > * http://tldp.org/LDP/abs/html/refcards.html > * http://mywiki.wooledge.org/BashFAQ/031 On the last of these three web pages is the note: "As of bash 4.1, string comparisons using < or > respect the current locale when done in [[, but not in [ or test. In fact, [ and test have never used locale collating order even though past man pages said they did. Bash versions prior to 4.1 do not use locale collating order for [[ either." Try using the C locale, for example: LC_COLLATE=C Then see what the double brackets does. -- Eli Schwartz Arch Linux Bug Wrangler and Trusted User
Back to top | Article view | gnu.bash.bug
csiph-web