bash - Bash通配符不适用于子字符串匹配
问题描述
不知道为什么这不起作用:
declare -a brands=(
"sassandbide"
"cocoandlola"
)
var="sassandbide.com"
for assigned in "${!brands[@]}"
do
chosen_brand=${brands[$assigned]}
echo "$chosen_brand"
echo "$var"
if [[ "$chosen_brand" = *$var* ]];
then
echo "working"
else
echo "not working"
fi
done
输出:沙沙比德
sassandbide.com
不工作
椰子
sassandbide.com
不工作
任何帮助,将不胜感激。干杯
解决方案
交换$chosen_brand
和= *$var*
到$var = *$chosen_brand*
。
推荐阅读
- scala - 在 Scala 中打印时从元组中删除数据类型
- powershell - 在文件中查找字符串并用另一个文件中的值替换多行 - powershell
- javascript - 问题:Fullcalendar 将 24 显示为午夜而不是 00:00
- javascript - 使用 touchmove 事件检测哪个 div 手指结束
- docker - 在 docker-compose up 之后添加音量
- javascript - 我想为从 mysql 数据库登录的每个用户发送唯一记录
- c - 调用fork时是否复制线程?
- phpstorm - PhpStorm - 同时显示项目文件和结构
- android - 当人们安装我的应用程序时,他们会获得两个应用程序
- masstransit - 是否可以连接到特定队列并读取指定数量的消息?