找到变量的特定部分?

时间:2013-02-11 21:09:02

标签: bash

好的我知道我的问题似乎令人困惑。所以我会在这里解释一下。所以我正在制作一个带有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'。提前谢谢谁回答。

2 个答案:

答案 0 :(得分:2)

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

if [[ $var == *"foo"* ]]
then
    echo "The variable contains the substring 'foo'"
fi

答案 1 :(得分:2)

除了使用

进行模式匹配
if [[ $var = *foo* ]]; then

你也可以使用正则表达式:

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

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