0

好的,我知道我的问题似乎令人困惑。所以我会在这里解释一下。所以我正在用 bash 脚本制作一个 mmo(我很无聊,不要说用 java 或 c++ 或类似的东西来做),除了注册时我不会真正解释我想要它,所以我可以有一个if 语句查看他们的用户名中是否有任何挑衅性,然后告诉他们,然后让他们使用不同的用户名。我只是想让它更合适。所以要做到这一点,我可以让我的 if 语句看到这个词,我需要像这样

if [ var == provocative word ]; then
echo "You have a provocative word in your username. Please change"
fi

但要做到这一点,我需要它来查看语句中是否有单词。我知道在java中它只是通过做'word *'来制作它,所以如果它看到这个词,它就会不管如果说什么,即使事情可能是'wordghdksjgh'。提前感谢任何回答的人。

4

2 回答 2

2

要检查变量是否包含子字符串,可以使用:

if [[ $var == *"foo"* ]]
then
    echo "The variable contains the substring 'foo'"
fi
于 2013-02-11T21:12:20.313 回答
2

除了使用模式匹配

if [[ $var = *foo* ]]; then

您还可以使用正则表达式:

if [[ $var =~ foo ]]; then  # Successfully match anything with "foo" as a substring

nocasematch选项也适用于正则表达式匹配。

于 2013-02-11T21:31:30.843 回答