0

错误的字符串标记化

从命令输出中提取应用程序版本

#!/bin/bash
# GNU bash, version 4.3.46

string='Version: 19.08.19-14:25'
IFS=" -:" set -- $string
echo $2

我希望这$2将具有价值19.08.19。但结果是19.08.19 14 25

4

1 回答 1

1

分词发生在 IFS 的值发生变化之前(参见 中的简单命令扩展man bash)。您需要在单独的语句中设置 IFS。

IFS=" -:"
set -- $string

如果脚本执行其他任何操作,请不要忘记将其设置回来。

于 2019-08-30T16:30:26.610 回答