2013-11-04 57 views
1

是否存在可靠的,可移植的(即在大多数系统上工作于/ bin/bash)结构,用于测试参数是否仅包含空白?仅包含空白的参数测试

有没有办法做到这一点使用shell内建只(即不呼唤的sed,Perl等)

回答

1

是纯bash的方式:

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

OR

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

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

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