测试仅包含空格的参数

时间:2013-11-04 14:27:30

标签: bash

是否有可靠的,可移植的(即在大多数系统上使用/ bin / bash)构造用于测试参数是否只包含空格?

有没有办法只使用shell内置函数(即不调用sed,perl等)

2 个答案:

答案 0 :(得分:1)

是纯粹的狂欢方式:

s="      "
[[ "$s" =~ ^[[:blank:]]+$ ]] && echo "containes only spaces"

OR

[[ "$s" =~ ^[[:space:]]+$ ]] && echo "containes only spaces"

答案 1 :(得分:0)

如果你想检查是否只有一个空格,你可以这样做:

$ d=" "
$ [ "$d" == " " ] && echo "only space"
only space
$ d="  " <--- two spaces
$ [ "$d" == " " ] && echo "only space"
$