在bash中,使用“ =~ ”进行字符包含的判断。
看例子:
需求:判断路径中是否含zip压缩文件,若有则将其解压。
该需求需判断ls中的文件是否包含".zip"关键字
首先使用
FILES=$(ls)
绑定当前路径下的文件名,存为list到FILES中
再使用for循环遍历 FILES
for FILE in $FILES
do
if [[ $FILE =~ ".zip" ]]
then
ZIP_FILE=$FILE
echo "zip file name: $ZIP_FILE"
unzip $ZIP_FILE
fi
done
完整代码:
#!/bin/bash
FILES=$(ls)
for FILE in $FILES
do
if [[ $FILE =~ ".zip" ]]
then
ZIP_FILE=$FILE
echo "zip file name: $ZIP_FILE"
unzip $ZIP_FILE
fi
done