2012-02-03 8 views
2

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

Следующие нерегулярный синтаксис КШ отлично работает для любого X целого числа/с, но не для чисел с плавающей точкой (например, он не работает для X=2.34 или X=22.123)

Что мне нужно сделать, чтобы добавить в моем синтаксисе в для поддержки чисел с плавающей запятой?

[[ $VERSION = 3.9.2*([0-9]) ]] && echo right version 
  • замечание - X может иметь характер "-"

Пример значений версии $, которые могли бы быть

  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 
+0

Не могли бы вы описать более подробно формат "правильной версии"? Сколько частей разделено, но точки '.' могут ли они иметь? –

+0

обязательно посмотрите мое обновление –

ответ

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 

EDIT

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 
+0

HI kent see my update float number может иметь также «-» char –

+0

@ Eytan см. EDIT в ответе – Kent

+0

Привет, kent - последний вопрос в случае, если у меня также есть символ, который я могу добавить после " - "как [[$ VERSION = 3.9.2 * ([0-9 \.-_])]] ???? –

Смежные вопросы