ksh + неправильный синтаксис ksh для поддержки чисел с плавающей запятой - PullRequest
2 голосов
/ 03 февраля 2012

В моем скрипте ksh у меня есть параметр VERSION=3.9.2X.$VERSION всегда начинаются с 3.9.2, а X может быть любым целым числом или числом с плавающей запятой.

Следующий неправильный синтаксис ksh отлично работает для любых целых чисел / с X, но не для чисел с плавающей запятой (например,это не работает для X=2.34 или X=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

1 Ответ

1 голос
/ 03 февраля 2012

это то, что вы хотите?не уверен ...

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

РЕДАКТИРОВАТЬ2

$ 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
...