如何测试字符串小于或等于?

在Bash中,是否有一种简单的方法来测试一个字符串是否按字典顺序小于或等于另一个字符串?

我知道你可以这样做:

if [[ "a" < "b" ]]

为了测试严格的不平等,还是

if [[ 1 -le 1 ]]

数字。 但是-le似乎不适用于字符串,并且使用<=会给出语法错误。


只是否定了大于测试:

if [[ ! "a" > "b" ]]

你需要使用|| 附加条件而不是<=

[[ "$a" < "$b" || "$a" == "$b" ]] 

您可以翻转比较并签字并进行负面测试:

$ a="abc"
$ b="abc"
$ if ! [[ "$b" > "$a" ]] ; then  echo "a <= b" ; fi
a <= b

如果你想整理“A”的序列,然后“A”,然后“B”...使用:

shopt -s nocaseglob
链接地址: http://www.djcxy.com/p/17457.html

上一篇: How to test strings for less than or equal?

下一篇: in) way in JavaScript to check if a string is a valid number?