shell shift 使用一例
这段代码的作用是:
当输入 ./Export.sh 是将当前目录进行打包,当输入./Export.sh XX1 XX2 XX3 .... XXn 时,如果XXn存在,则依次将存在的目录进行打包,打包文件都放在上一级目录,其中使用到了shift命令:
Export.sh的源码如下:
#!/bin/bash CUR="`pwd`" echo -e "CUR = $CUR\n" if [ -z $1 ]; then cd ../ cp debugTools .debugTools_tmp -arf find .debugTools_tmp -name .svn | xargs rm -rf tar -czf debugTools.tar.gz .debugTools_tmp rm -rf .debugTools_tmp cd - else while [ $# -gt 0 ]; do if [ -f $CUR/$1 ] || [ -d $CUR/$1 ]; then tmp="`basename $1`" #去掉结尾的/ cp $tmp .${tmp} -raf find .$tmp -name .svn | xargs rm -rf tar -czf $tmp.tar.gz .$tmp rm -rf .$tmp mv $tmp.tar.gz ../ else echo -e "\e[1;31mCan find $CUR/$1\n\e[0m" fi shift done fi echo -e "\e[1;33mEND!!\e[0m"
本文来自博客园,作者:摩斯电码,未经同意,禁止转载