在bats测试中如何使用正则表达式匹配字符串?

时间:2018-11-14 16:40:25

标签: bash bats-core

我知道我可以检查结果是否等于某个值,例如

#!/usr/bin/env bats

@test "Check that total is listed" {
    run ls -l
    [[ ${lines[0]} =~ "total" ]]
}

但是,如果我只想检查lines [0]是否由几个数字和字母组成怎么办?我应该使用正则表达式来做到这一点吗?

1 个答案:

答案 0 :(得分:2)

使用 regex ,例如:

$ regex='^[[:alnum:]]+$'
$
$ [[ "1gz0" =~ $regex ]]
$ echo $?
0
$ [[ "1gz_0" =~ $regex ]]
$ echo $?
1