如何在shell脚本中检查相同的文件名是否存在前缀 即MY_REPORT_2018_04_23_01.txt,MY_REPORT_2018_04_23_02.txt,MY_REPORT_2018_04_13_03.txt等。
当我在尝试时:
if [ ! -e MY_REPORT_*.txt ] ;
then
echo "files not present in current directory"
exit 1
fi
它正在运行,但有一条警告信息:
[:参数太多
答案 0 :(得分:2)
使用数组:
#!/usr/bin/env bash
shopt -s nullglob # make sure glob evaluates to nothing if there are no matches
files=(MY_REPORT_*.txt) # create an array of matching files
if ((${#files[@]} == 0)); then # check number of items in array
echo "Files not present"
exit 1
fi
查看此帖子以了解[ ... ]
的工作原理:
另一篇相关文章: