前提如下:
1、路径1:比如/home/aaa(要在aaa目录下放置多个目录,比如目录1,目录2等等)
2、路径2:/home/bbb
实现功能:
判断aaa目录下是否有目录,有的话再判断bbb目录是否有同名目录,如果bbb下有同名目录就打印信息出来,如果bbb目录下没有,就在bbb目录下建立这些同名的目录
脚本如下,希望能够帮助你。
#!/bin/sh
list=`ls /home/aaa`
for dir in $list
do
ls /home/bbb | grep $dir
if [[ "$?" == "0" ]];then
echo "/home/bbb/$dir exists!"
else
mkdir /home/bbb/$dir
fi
done
#!/bin/sh
list=`ls /home/aaa`
for dir in $list
do
ls /home/bbb | grep $dir
if [[ "$?" == "0" ]];then
echo "/home/bbb/$dir exists!"
else
mkdir /home/bbb/$dir
fi
done
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-05-21
如果要练习shell脚本,可以参考楼上的几位循环语句的使用。
如果仅需要实现需求,直接用 cp命令 拷贝即可 cp -a /home/aaa /home/bbb
如果仅需要实现需求,直接用 cp命令 拷贝即可 cp -a /home/aaa /home/bbb
第2个回答 2013-05-21
#!/bin/bash
path1=/home/aaa
path2=/hmoe/bbb
files=`ls -a $path1`
suba=`ls -al $path1 | grep '^d' |sed -n '3,$p' | awk '{print $NF}'`
for dira in $suba
do
ls -al $path2 | grep $dira
if [ "$?" -eq "0" ]; then
echo $dira exists.
else
mkdir $path2/$dira
fi
done
path1=/home/aaa
path2=/hmoe/bbb
files=`ls -a $path1`
suba=`ls -al $path1 | grep '^d' |sed -n '3,$p' | awk '{print $NF}'`
for dira in $suba
do
ls -al $path2 | grep $dira
if [ "$?" -eq "0" ]; then
echo $dira exists.
else
mkdir $path2/$dira
fi
done