我想通过
检测空字符串和白色字符串not detect
结果是
if [[ -z ${var} ]]
它不起作用。 请让我知道如何检测它。 或者,请告诉我一些选项,如
if ( isset($_POST['multiagent'] ) && is_array ( $_POST['multiagent'] ) ) {
//implode user name in string
$studentname = implode("','",$_POST['multiagent']);
//Write query string
$query_certs = "SELECT * FROM transactions WHERE Username IN ('". $studentname ."')";
//Add limit in query
$query_limit_certs = sprintf("%s LIMIT %d, %d", $query_certs, $startRow_certs, $maxRows_certs);
//Execute query
$certs = mysql_query($query_limit_certs, $kbl) or die(mysql_error());
//Get row
$row_certs = mysql_fetch_assoc($certs);
}
答案 0 :(得分:3)
\s
与BASH中的空格不匹配(它只匹配单个字段s
),您可以使用POSIX属性[[:blank:]]
来匹配空格或制表符:
if [[ ${test_word} =~ ^[[:blank:]]*$ ]]; then
echo "detect"
else
echo "not detect"
fi
这是一种检测相同方法的非正则表达式:
if [[ -z ${test_word//[[:blank:]]/} ]]; then
echo "detect"
else
echo "not detect"
fi
${test_word//[[:blank:]]/}
将从$test_word
删除所有空格,-z
将检查给定字符串的长度是否为零。
以下是检测相同内容的另一种extglob
方式(感谢@gniourf_gniourf):
if [[ ${test_word} == *([[:blank:]]) ]]; then
echo "detect"
else
echo "not detect"
fi