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. _______________________________________________ Discuss mailing list [email protected] http://lists.blu.org/mailman/listinfo/discuss
