BLU Discuss list archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss] through the looking glass
- Subject: [Discuss] through the looking glass
- From: richard.pieri at gmail.com (Richard Pieri)
- Date: Fri, 1 Jun 2018 20:49:38 -0400
- In-reply-to: <20180601233227.GA18552@arcturas.localdomain>
- References: <20180601233227.GA18552@arcturas.localdomain>
On 6/1/2018 7:32 PM, dan moylan wrote: > also b2 writes out empty files abc and xyz. > > i've surely missed something fundamental, or did i just > step into an alternate universe? What you missed isn't so obvious. "[" is a synonym for /bin/test with the caveat that a closing "]" is required. What's happening is that "[ $st1 > $st2 ]" becomes: /bin/test abc > xyz "/bin/test abc" returns true, and you get an empty file because test generates no output, only return codes 0 (true) or 1 (false). The portable fix is to rewrite your logic because the test command only allows for "=" and "!=" in string comparisons. The bash-specific fix is to change your single brackets to double brackets: "[[ $st1 > $st2 ]]". "[[" is a bash built-in and it bypasses all of the above problems. But it's not portable. -- Rich P.
- References:
- [Discuss] through the looking glass
- From: jdm at moylan.us (dan moylan)
- [Discuss] through the looking glass
- Prev by Date: [Discuss] Jekyll users, experts, developers anywhere?
- Next by Date: [Discuss] Jekyll users, experts, developers anywhere?
- Previous by thread: [Discuss] through the looking glass
- Next by thread: [Discuss] through the looking glass
- Index(es):