新人学shell 遇到的问题!求解答谢谢

1.gzfilename=${log_path}/filelist/gzfilename_${instname}.$(preday 0 date)
其中preday 0 date 是什么意思?
2.cat $tarfilelist | while read fn
do

if grep -qE $fn $gzfilename;then
请问这句话的意思是? -qE的意思?
3.mv ${src_path}/${prov}/$fn ${bak_path}/${prov}/${fn}.DUP
.DUP 后缀名是随便取吗?

你的理解没有错,是随便取的。

mv 就是一个移动文件的命令,mv 原文件 目标文件。
这里的.dup 后缀是随便取的,意思是 duplicate 复制之类的,通常如果是备份可以可以.bak 等之类的。
Linux 下的文件的是可以随便写的,只要内容是文本能让能打开就可以。

grep -qE

q - --quiet, --silent
Quiet; do not write anything to standard output. Exit immediately with zero status if any match is
found, even if an error was detected. Also see the -s or --no-messages option. (-q is specified by
POSIX.)
-E
--extended-regexp
Interpret PATTERN as an extended regular expression (ERE, see below). (-E is specified by POSIX.)