我想测试一个字符串是否有“子字符串”。大多数在线答案都基于 Bash。我试过了
if [ $string == "*substring*" ]
这是行不通的。现在
if echo ${string} | grep -q "substring"
工作。有没有其他更好的方法。
最佳答案
使用符合 POSIX 的 parameter-expansion 和经典的 test-command 。
#!/bin/sh
substring=ab
string=abc
if [ "$string" != "${string%"$substring"*}" ]; then
echo "$substring present in $string"
fi
(或)显式使用
test
运算符作为if test "$string" != "${string%$substring*}" ; then
关于sh - 如何在 Bourne Shell 中检查子字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40771231/