string="*test"
for dir in $ALIGN_DIR/*/; do
if [[ -d $dir && $dir == "$string" ]]; then
continue
fi
done
这不起作用,例如$ dir ='\ home \ something \ test'与$ string不匹配,因此不会被跳过。
答案 0 :(得分:0)
您应该在支票中使用正则表达式。默认情况下,字符串的相等性不适用于通配符*
string=".*test"
for dir in $ALIGN_DIR/*/; do
if [[ -d $dir && $dir =~ "$string" ]]; then
continue
fi
done