//proj.sh
#!/bin/sh #FileName:proj.sh #Function:create project directory quckily #Version:V0.1 #Author:Sunrier #Date:2012-07-18 #Shell脚本中变量赋值等号两边均不能有空格存在 CURRPATH=$PWD PROJPATH="/mnt/hgfs/Sunrier/Proj" cd $PROJPATH mkdir {bin,include,lib,etc,src,log,bak} >/dev/null 2>&1 #-p参数确保目录名称存在,如果目录不存在的就新创建一个,常用于快速创建多级子目录 #mkdir -p projectname/{bin,include,lib,etc,src,log,bak,doc/{html,pdf,txt}} #tree #创建好目录结构后,可以使用tree命令查看创建后的目录结构 #mv proj.sh /home/Sunrier/bin #为了能够直接使用文件名放到系统可执行路径下 cd $CURRPATH
[Sunrier@localhost Proj]$ proj.sh
[Sunrier@localhost Proj]$ ls
bak bin etc include lib log src
[Sunrier@localhost Proj]$
//V0.2
#!/bin/sh #FileName:proj.sh #Function:create project directory quckily #Version:V0.2 #Author:Sunrier #Date:2012-09-09 CURRPATH=$PWD PROJPATH="/mnt/hgfs/Sunrier/Homework" PROJNAME="Proj" cd $PROJPATH 2>/dev/null if [ $? -ne 0 ] then echo "没有找到项目目录,创建失败!" cd $CURRPATH exit 1 fi #不考虑隐藏目录和文件 FileList="" FileList=`ls | grep -v "^proj.sh$" 2>/dev/null` if [ "" != "$FileList" ] then echo "准备创建的项目目录下存在其他相关信息!" else echo "准备创建的项目目录下不存在其他相关信息!" fi if [ -d "$PROJNAME" ] then echo "项目$PROJNAME已经存在,创建失败!" cd $CURRPATH exit 1 else echo "项目$PROJNAME不存在!" fi mkdir -p $PROJNAME/{bin,sbin,include,lib,etc,src,log,bak,doc} >/dev/null 2>&1 #tree mv proj.sh $PROJNAME/sbin/ #tree echo "创建项目目录$PROJNAME成功!" cd $CURRPATH