1

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

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

4

2 回答 2

1

是的,纯粹的 bash 方式:

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

或者

[[ "$s" =~ ^[[:space:]]+$ ]] && echo "containes only spaces"
于 2013-11-04T14:29:46.003 回答
0

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

$ d=" "
$ [ "$d" == " " ] && echo "only space"
only space
$ d="  " <--- two spaces
$ [ "$d" == " " ] && echo "only space"
$
于 2013-11-04T14:29:10.500 回答