如何检查bash中字符串是否包含数字,字母,字符
bash检查字符串是否包含数字。 bash检查字符串包含字母。 bash检查字符串是否包含特殊字符。 bash检查字符串是否以字符开头。 bash比较字符串。 Shell脚本测试变量为数字。检查字符串仅包含数字。用于检查字符是元音还是辅音的shell脚本。用于检查字符串是否包含元音的shell脚本。 bash检查字符串是否以字符开头。 bash检查字符串是否以字符结尾。 shell脚本,用于检查字符是字母数字还是特殊字符。 bash检查字符串是否包含元音。 bash检查字符串是否以字符开头。 bash shell脚本,用于检查字符串是否包含数字。 shell脚本,用于检查字符串是否仅包含数字。 shell脚本,用于检查字符串是否包含特殊字符。
比较Bash中的字符串
1.检查字符串是否包含数字
假设我们想比较字符串并检查字符串是否包含数字。现在,此变量也可以包含字符,字母,但是最重要的是,我们希望检查字符串是否包含数字。在脚本中使用以下语法比较字符串并检查字符串是否包含数字。
$VAR =~ [0-9]
我将用脚本将其框起来
#!/bin/bash while true; do read -r -p "Enter a string: " VAR if [[ $VAR =~ [0-9] ]];then echo "Input contains number" else echo "Input contains non numerical value" fi done
现在,让我们执行脚本,正如我们所观察到的,脚本能够区分数值和非数值
# /tmp/script.sh Enter a string: test Input contains non numerical value Enter a string: test1234 Input contains number Enter a string: test@123 Input contains number Enter a string: testing Input contains non numerical value
2.检查字符串是否仅包含数字
假设我们希望比较字符串并检查字符串是否仅包含数字。现在,在上面的例子中,字符串可以同时包含字母和字母。尝试在脚本中使用以下语法比较字符串,并检查字符串是否仅包含数字
$VAR =~ ^[0-9]+$
或者
$VAR =~ ^[[:digit:]]+$
我将在脚本中构建框架以测试多个值
#!/bin/bash while true; do read -r -p "Enter a string: " VAR if [[ $VAR =~ ^[0-9]+$]];then echo "Input contains number" else echo "Input contains non numerical value" fi done
现在,让我们执行脚本以比较字符串,就像我们看到的那样,脚本能够区分数值和非数值,因此我们能够成功地检查字符串是否仅包含数字。
# /tmp/script.sh Enter a string: test Input contains non numerical value Enter a string: 1234 Input contains number Enter a string: test1234 Input contains non numerical value Enter a string: 012 Input contains number
3.检查字符串是否仅包含字母和数字
要比较字符串并检查字符串是否仅包含字母和数字,可以使用以下语法之一。
$VAR =~ ^[[:alnum:]]+$
或者
$VAR =~ ^[0-9a-zA-Z]+$
让我在脚本中对其进行构架,我将仅演示一种语法,但是两种语法都应该对我们有用
#!/bin/bash while true; do read -r -p "Enter a string: " VAR if [[ $VAR =~ ^[[:alnum:]]+$]];then echo "OK: Contains alphabets and numbers" else echo "NOK: Contains special character" fi done
执行脚本。如我们所见,我们能够区分带有字母和数字而没有字母和数字的字符串
# /tmp/script.sh Enter a string: 123 OK: Contains alphabets and numbers Enter a string: abc123 OK: Contains alphabets and numbers Enter a string: abc@123 NOK: Contains special character Enter a string: abc.123 NOK: Contains special character
4.检查字符串是否以字符开头
其中:让我向我们展示一个示例,比较字符串以检查字符串是否以特定字符或者单词开头。现在假设我希望确保变量或者字符串以字符" A"开头。尝试使用以下语法检查字符串是否以字符" A"开头
$VAR =~ ^[A]
我将在脚本中构建框架以测试多个值
#!/bin/bash while true; do read -r -p "Enter a string: " VAR if [[ $VAR =~ ^[A] ]];then echo "Input starts with A" else echo "Input does not starts with A" fi done
现在,让我们执行脚本,如我们所见,脚本能够检查字符串是否以字符" A"开头。
# /tmp/script.sh Enter a string: Test Input does not starts with A Enter a string: Apple Input starts with A Enter a string: apple Input does not starts with A Enter a string: Ball Input does not starts with A
同样,我们可以修改逻辑以检查其他字母或者字符。例如,要检查小写字母和大写字母,请使用以下语法
$VAR =~ ^[aA]
5.检查字符串是否包含特殊字符
要比较字符串并检查字符串是否包含特殊字符,有两种方法。我们或者将模式与所有可用的特殊字符匹配,或者相反。我们有一种逻辑检查字符串是否仅包含字母和数字,我们使用该模式并将其反转以了解并检查字符串是否包含特殊字符。
$VAR == *['!'@#$%^\&*()_+]*
或者
! $VAR =~ ^[[:alnum:]]+$
让我们在脚本中构建此模式
#!/bin/bash while true; do read -r -p "Enter a string: " VAR if [[ ! $VAR =~ ^[[:alnum:]]+$]];then echo "contains special character" else echo "does not contains special character" fi done
现在,如果我们执行脚本以检查字符串是否包含特殊字符,则可以观察到该脚本能够告诉我们带或者不带特殊字符的字符串。
# /tmp/script.sh Enter a string: test123 does not contains special character Enter a string: 12345 does not contains special character Enter a string: test does not contains special character Enter a string: test3 contains special character Enter a string: test%123 contains special character Enter a string: test.123 contains special character
6.检查字符串中是否包含元音
现在比较字符串并检查字符串是否包含元音,我们可以使用以下模式。其中:我们定义了模式中的所有元音,以检查字符串是否包含元音。
$VAR =~ [AEIOUaeiou]
让我们把它放在脚本中
#!/bin/bash while true; do read -r -p "Enter a string: " VAR if [[ $VAR =~ [AEIOUaeiou] ]];then echo "OK: Contains vowels" else echo "NOK: No vowels found" fi done
执行脚本以验证功能,以及我们的脚本是否能够检查字符串是否包含元音。如我们所见,我们的脚本能够识别并检查字符串是否包含元音或者仅包含辅音。
# /tmp/script.sh Enter a string: Apple OK: Contains vowels Enter a string: Bat OK: Contains vowels Enter a string: Test OK: Contains vowels Enter a string: Myth NOK: No vowels found Enter a string: Witch OK: Contains vowels Enter a string: Cry NOK: No vowels found Enter a string: Sky NOK: No vowels found