如何将Shell中两个句点之间的字符串解析为三个变量?

时间:2017-10-26 14:16:19

标签: shell

在Shell中,我需要解析一个字符串,该字符串将始终包含三个除以句点的组件。长度不一致。

给定值的示例:

1.0.5
11.5.13
0.12.0

我需要将它们分解为三个变量。对于给定值1.0.5,我需要:

major=1
minor=0
fix=5

我见过一个很好的例子,显然只适用于bash,我没有bash作为选项。

1 个答案:

答案 0 :(得分:3)

您有几个选择:

使用heredoc

set

更改输入字段分隔符,使用old_IFS=$IFS IFS=. set -- $version major=$1 minor=$2 fix=$3 IFS=$old_IFS

分配位置参数
{{1}}

我更喜欢第一个选项,因为它更短,不会影响位置参数。