$ {VERSION:2:1} =〜[U-Z]的含义

时间:2014-10-15 16:24:25

标签: bash shell

以下表达式的含义是什么?

${VERSION:2:1} =~ [U-Z]

1 个答案:

答案 0 :(得分:8)

它会检查变量$VERSION的第3个字符是否是UZ之间的字符。

  • ${var:M:N}N位置开始打印M个字符:

    $ v="12345"
    $ echo ${v:2:1}
    3
    
  • =~是正则表达式比较。

  • [U-Z]的范围是UZ

测试

$ v="abWcd"
$ [[ ${v:2:1} =~ [U-Z] ]] && echo "yes" || echo "no"
yes

$ v="abAcd"
$ [[ ${v:2:1} =~ [U-Z] ]] && echo "yes" || echo "no"
no