if [ "$file" != "*.gds" ] && [ "$file" != "*.cmd" ]; then里面的通配符怎么使用不了
时间: 2023-07-06 14:29:29 浏览: 221
Makefile之通配符探究
在if条件句中,单引号和双引号会对通配符进行转义,因此通配符会被当作普通字符处理,不会进行模式匹配。如果要使用通配符进行模式匹配,可以不使用引号,或者使用反斜杠对通配符进行转义。例如,可以使用以下方式:
```
if [ $file != *.gds ] && [ $file != *.cmd ]; then
echo "不是gds或cmd文件"
else
echo "是gds或cmd文件"
fi
```
或者使用反斜杠对通配符进行转义:
```
if [ $file != \*.gds ] && [ $file != \*.cmd ]; then
echo "不是gds或cmd文件"
else
echo "是gds或cmd文件"
fi
```
注意,在使用反斜杠进行转义时,星号前面需要加上反斜杠,否则会被当作通配符。
阅读全文