: ${models:=foo bar foobar baz}
: ${special_list:=station_tracks user_features}
for model in $models;
do
echo $model
if # model in special list; then # how do i test this?
# do something
continue
fi
done
那么,基本上我如何测试变量模型是否在special_list
中?
答案 0 :(得分:0)
Perl拥有SmartMatch operator ~~
。和been noted一样,Bash还没有
甚至Awk都有一个等价物,但你可以使用grep作为解决方法。也
在继续之前,如果要使用Bash数组,请使用Bash数组。您的
一旦超出最简单的例子,语法就会被打破。
喜欢空间,参与其中:
models=(foo bar foobar baz)
special_list=(station_tracks user_features)
for model in "${models[@]}"
do
echo "$model"
if printf '%s\0' "${special_list[@]}" | grep -Fqxz "$model"
then
continue
fi
done
如果您愿意,可以使用等效的长选项:
--fixed-strings --quiet --line-regexp --null-data