Chinaunix首页 | 论坛 | 博客
  • 博客访问: 62445
  • 博文数量: 14
  • 博客积分: 260
  • 博客等级: 二等列兵
  • 技术积分: 154
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-05 22:58
个人简介

临渊羡鱼,不如退而结网。

文章分类

全部博文(14)

文章存档

2014年(3)

2012年(11)

我的朋友

分类: LINUX

2012-08-06 06:41:34

下面是一个脚本,用来更新版本控制系统管理的目录。它可以遍历每个目录,选择正确的工具进行更新。
当前我只关注 emacs git kernel 这三个项目,自然工具只用到 bzr 和 git 了。当然可以再扩展到其他的工具。

#!/bin/sh
                                                                                                                             
PROGJECTS="emacs git kernel"  #创建数组,包含要更新的目录名

for i in $PROGJECTS; do #遍历数组,取得每个元素
   cd $i
   case $i in
       *)
           if [ -d .git ]
           then
               eval ${i}_TOOL=\'git pull\' #定义一个变量,赋值为更新要使用的命令
           elif [ -d .bzr ]
           then
               eval ${i}_TOOL=\'bzr up\'
           else
               echo "Don't know how to update $i"
               exit 1
           fi
           ;;
   esac
   echo "Update ${i} use \`$(eval echo \${${i}_TOOL})' in $(pwd)."

   eval \${${i}_TOOL} #取得上面变量的值,运行命令进行更新

   echo "Done.\n"                                                     
done

阅读(1254) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~