说明
此脚本用于清除特定目录下的文件,不删除子目录。
dir_list
表示目录列表,temp_dir
表示临时目录。
1. 如果dir
存在,且不为空,则删除该目录下所有文件(不删除子目录);
2. 再判断是否存在临时目录,当临时目录不为空时:
如果脚本执行时带all
参数,删除整个临时目录中的文件;
否则仅删除临时目录中的文件,保留文件夹;
脚本:
#!/bin/bash
# clean some direcotrys
dir_list=(
#
# output
$HOME/data/rf_???/ok ## directories such as: /app/billapp/data/rf_001/ok、/app/billapp/data/rf_002/ok
$HOME/data/rf_???/err
#
# kpi
$HOME/log/kpi_publisher/kpi
$BILL_LOG1/kpi_publisher
#
# log
$BILL_LOG1/chf/chf_??? ## directories such as: $BILL_LOG1/chf/chf_001、$BILL_LOG1/chf/chf_002
)
# tmp_top
temp_dir="/tmp_top"
decode_dir=(
#
)
if [ -n "$1" ] && [ "$1" = "decode" ]
then
dir_list=(${decode_dir[@]})
fi
# echo date
date
for dir in ${dir_list[@]}
do
# if dir exists and is not empty, then clean it
if [ -d $dir ] && [ "`ls -A $dir`" != "" ]
then
# remove files
echo "find $dir -maxdepth 1 -type f -exec rm {} \;"
find $dir -maxdepth 1 -type f -exec rm {
} \;
# if tmp_dir exists and is not empty, then clean it
if [ -d $dir$temp_dir ] && [ "`ls -A $dir$temp_dir`" != "" ]
then
# suport option
if [ -n "$1" ] && [ "$1" = "all" ]
then
echo "rm -rf $dir$temp_dir"
rm -rf $dir$temp_dir
echo
continue
fi
echo "find $dir$temp_dir -type f -exec rm {} \;"
find $dir$temp_dir -type f -exec rm {
} \;
fi
echo
fi
done
exit 0
今天的文章linux删除目录的指令_shell脚本怎么判断所在目录分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/86733.html