如何创建一个函数来测试输入是否包含任何字符?

如何创建一个函数来测试输入是否包含任何字符?

我这里有这组示例来测试用户在按 Enter 后是否键入了任何数据。

echo -n "Type a digit or a letter > "
read character
blank=""
if  [ "$character" != "$blank"]; then
        echo "You typed something"
else
    echo "Enter something"
fi

上面的代码应该测试变量是否包含任何内容,但我似乎无法让它工作,有什么帮助吗?非常感激。

答案1

您可以简单地使用[ "$character" ]来测试 string 是否非零,这相当于较长的 form [ -n "$character" ]。或者[ -z $character ]测试字符串是否为零。

然而,很多时候,在交互式脚本中,真正需要的是在用户可以覆盖的变量中设置一些默认值。如果这是您的意图,那么您可以避免测试并使用参数扩展:

read character
echo "character is set to ${character:-default}"

相关内容