下面是一个脚本,用来更新版本控制系统管理的目录。它可以遍历每个目录,选择正确的工具进行更新。
当前我只关注 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
阅读(1294) | 评论(0) | 转发(0) |