当前位置: 技术问答>linux和unix
bash新手提问
来源: 互联网 发布时间:2016-07-16
本文导语: 写了一些移动目录树的脚本(只移动目录树的普通文件),大家看看有什地方需要改进的,刚刚开始学写bash script,大家不要笑俺:( mv_tree() { [ $# -ne 2 ] && echo "INPUT PARAMETER ERROR,SHOULD BE 2!" && return [ ! -d $1 ]&&...
写了一些移动目录树的脚本(只移动目录树的普通文件),大家看看有什地方需要改进的,刚刚开始学写bash script,大家不要笑俺:(
mv_tree()
{
[ $# -ne 2 ] && echo "INPUT PARAMETER ERROR,SHOULD BE 2!" && return
[ ! -d $1 ]&& echo "source directrory $1 does not exist! " && return
[ ! -d $2 ]&& mkdir -p $2
for file in $(ls $1)
do
if [ -f $1/$file ];then
mv -f $1/$file $2/
else
[ -d $1/$file ]&& mv_tree $1/$file/ $2/$file/
fi
done
}
mv_tree /tmp/usb/C/update/fs/ /flash/
|
不错
|
顶一个
|
没问题
只不过感觉费了好大劲, 为啥不直接mv 文件夹呢?
只不过感觉费了好大劲, 为啥不直接mv 文件夹呢?
|
mv /tmp/usb/C/update/fs/* /flash/
|
貌似 行.
|
cd /tmp/usb/C/update/fs
mv /tmp/usb/C/update/fs/* /flash/
find /flash/ -d -exec mkdir -p {} ;
这样吧,先移动了,然后再建立。但前提是/flash里没有其他目录。呵呵
mv /tmp/usb/C/update/fs/* /flash/
find /flash/ -d -exec mkdir -p {} ;
这样吧,先移动了,然后再建立。但前提是/flash里没有其他目录。呵呵