【问题标题】:ksh + irregular ksh syntax to support float numbersksh + 不规则 ksh 语法以支持浮点数
【发布时间】:2012-02-03 10:33:25
【问题描述】:

在我的 ksh 脚本中,我有参数 VERSION=3.9.2X$VERSION 总是以3.9.2 开头,X 可以是任何整数或浮点数。

以下不规则 ksh 语法适用于任何 X 整数,但不适用于浮点数(例如,它不适用于 X=2.34X=22.123

为了支持浮点数,我需要在语法中添加什么?

[[ $VERSION = 3.9.2*([0-9]) ]] && echo right version
  • 备注 - X 可以有字符“-”

$VERSION 值的示例

          VERSION=3.9.22.34-3
          VERSION=3.9.20.34.3
          VERSION=3.9.29.34-3
          VERSION=3.9.212.3.4-3
          VERSION=3.9.21.34.2-3.3
          VERSION=3.9.273
          VERSION=3.9.210.3

【问题讨论】:

  • 您能否更详细地描述“正确版本”的格式?分隔多少个部分,但点. 可以有多少?

标签: linux bash shell ksh


【解决方案1】:

这是你想要的吗?不确定...

kent$  ksh
$ VERSION=3.9.21.2.3.4.5
$ [[ $VERSION = 3.9.2*([0-9\.]) ]] && echo $VERSION
3.9.21.2.3.4.5

编辑

kent$  ksh
$ VERSION=3.9.21.2.3.4.5-34556
$ [[ $VERSION = 3.9.2*([0-9\.-]) ]] && echo $VERSION
3.9.21.2.3.4.5-34556

EDIT2

$ VERSION=3.9.21.2.3.4.5-345_5-60_2-3
$ [[ $VERSION = 3.9.2*([_0-9\.-]) ]] && echo $VERSION
3.9.21.2.3.4.5-345_5-60_2-3

【讨论】:

  • HI kent 看看我的更新浮点数也可以有“-”字符
  • @Eytan 查看答案中的编辑
  • 嗨,肯特 - 最后一个问题,如果我也有 _ 字符,我可以在“-”之后添加这个 [[ $VERSION = 3.9.2*([0-9\.-_] ) ]] ????
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
  • 2012-02-05
  • 1970-01-01
  • 1970-01-01
  • 2011-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多