用Linux写一SHELL程序,删除任何目录下的文件但不包含此目录的子目录,要求在程序中有删除函数,删除文件时 10

 我来答
基本靠手077
2012-06-07
知道答主
回答量:1
采纳率:0%
帮助的人:1619
展开全部
#!/bin/bash //声明使用的shell
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin/;/usr/local/sbin:~/bin
export PATH
read -p "Please input your directory name:" d_name //d_name让你输入目录名
if[ "$d_name" == "" ] || [ ! -d "$d_name" ];then //没输入,或者不是目录,退出
echo -e "The director is not exist,please check it"
exit 1
fi
filelist=`ls $d_name` //filelist 为该目录下的所有文件,包括普通文件和目录文件
for filename int $filelist //shell for 循环
do
if[ -f $filename ];then //是文件,删除,不是,继续循环,到结束
rm -rf $filename
fi
done
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5311d79
2012-06-07 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3214万
展开全部
假设脚本名为 del.sh,内容如下:
#!/bin/bash
deleteFile() {
for file in *
do
line=`ls -l $file`
[ ${line:0:1} = "-" ] && rm -f $file
done
}
cd $1
[ $? -ne 0 ] && exit 1
deleteFile
echo "Delete operation finished!"

运行脚本:
del.sh “你的目录"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式