我正在尝试检查目录中是否存在文件,如果存在,那么我想先删除该文件,然后再在该目录中移动新文件。
if [[${abc_directory}/filename*.dmp]] ; then
rm -rf ${abc_directory}/filename*.dmp
我认为我在if语句中缺少一些逻辑。
答案 0 :(得分:2)
只需:
rm -f "${abc_directory}"/filename*.dmp
选项-f
(--force
)告诉rm
忽略不存在的文件。
我未包括-r
,因为按照您的描述,您将删除单个文件而不是目录树。
为了避免空格问题,我已经跳过了${abc_directory}
部分。它假定abc_directory
不包含任何通配符/占位符。
答案 1 :(得分:0)
您没有在示例中查找特定文件,而是使用通配符。为什么不先rm -rf ${abc_directory}/filename*.dmp
,然后再移入新文件并完成操作呢?
这里是检查单个文件是否存在的方法。
if [ -e ${abc_directory}/filename.dmp ];then
rm -f ${abc_directory}/filename.dmp
fi