以两个 var 为例:$a="bar/var1" 和 $b="var" 我想检查 $b 的内容是否在 $a 中,但不仅仅是 $b 的每个字符,它的确切内容。
我试过了:
if [[ $a =~ .*$b*. ]]
if [[ "$a" =~ .*"$b"*. ]]
if [[ "$a" = *"$b"* ]
]if [[ "$a" = *$b* ]]
if [[ "$a" == *$b* ]]
但是如果 $b 是“rav”或“var”,问题总是一样的,结果是一样的,但只有当它是“var”时我才想要真。
#!/bin/bash
a="bar/var1"
b="var"
if [[ "$a" == *"$b"* ]]; then
echo "Got it"
fi
b="rav"
if [[ "$a" == *"$b"* ]]; then
echo "Got it"
fi
你的尝试列表中有这个:
if [[ "$a" = *"$b"* ]]
你在正确的轨道上,但你需要两个 = 符号,而不是一个。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句