我尝试过几件事,但无法让它发挥作用。
我有一个数组元素,我想检查它是否包含变量
contains() {
string="$1"
substring="$2"
if test "${string#*$substring}" != "$string"
then
return 0 # $substring is in $string
else
return 1 # $substring is not in $string
fi
}
help=()
help+="this is a test"
i="test"
test=$(contains ${help[0]} $i)
if [[ $test == 0 ]];then
echo ${help[0]}
fi
我需要知道$ {newpool [$ a]}是否包含$ pool
我还尝试了一种我发现使用函数发布的不同方法,但它不起作用
putInt
答案 0 :(得分:1)
使用bashisms:
contains() {
local string=$1 substring=$2
[[ $string = *"$substring"* ]]
}
在POSIX中:
contains() {
string=$1; substring=$2
case $string in
*"$substring"*) return 0;;
*) return 1;;
esac
}
在任何一种情况下:
if contains foobar oo; then echo "foobar contains oo"; fi
if contains foobar baz; then echo "foobar contains baz"; fi
将仅正确地发出foobar contains oo
。