如何使用变量中定义的掩码检查目录中是否存在文件

How to check files present or not in directory with mask defined in variable

我有 bash 脚本,它列出了掩码

的文件
OFFSET1=`date +%y%m%d -d "2 day ago"`

并将它们移动到另一个目录中。 文件格式例如 - *160123*.log 需要检查,如果掩码为 $OFFSET1 的文件存在,则将其移动到目录 $DIR 中,否则退出脚本。

我试过了

if [ -r *$OFFSET1* ];then

但什么都没有

这个怎么样?

OFFSET1=$(date +%y%m%d -d "2 day ago")
for f in *"$OFFSET1"*;
do
    echo "$f"
done

您应该use $() syntax instead of backticks, and then use globbing列出文件。请记住在 mv 语句中引用 $f,以防文件中包含空格。