用Linux写一SHELL程序,删除任何目录下的文件但不包含此目录的子目录,要求在程序中有删除函数,删除文件时 10
2个回答
展开全部
#!/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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设脚本名为 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 “你的目录"
#!/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 “你的目录"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询