以前有个项目非得用到Clear Case,但又不提供好用点的命令,每次check out/in都得敲一大堆命令,容易出错不说,对我等懒人简直是无法忍受.
具有简单的check in/out, list, copy source等功能,因为Clear Case比较特殊,运行的时候自己创建一个新进程,所以这里用到了输入重定向.
脚本实例
------------
#!/bin/ksh
PRGN=`basename $0`
#AUTHOR : Ricky Wu
#Function : Clear Case Tool for * Branch
#Get Branch
userbranch=`echo ${LOGNAME} | cut -c 4-7`****
#Change like below
echo "Your Branch is:"$userbranch
fun=$1
loc=$2
filename=$3
version=$4
case $fun in
co)
;;
unco)
;;
ci)
;;
lsco)
;;
get)
;;
bk)
;;
sv)
;;
merge)
;;
*)
echo "Invalid Function!"
exit
;;
esac
cleartool setview $userbranch << !
quit()
{
exit $1
}
cd /vobs/source/
if [ ! -d /vobs/source/$loc ]
then
echo "Source Location Dose Not Exsist!"
quit 1
fi
cd /vobs/source/$loc
if [ ${fun} == "lsco" ]
then
cleartool ${fun}
quit 1
fi
if [ ! -f /vobs/source/$loc/${filename} ]
then
echo "File [/vobs/source/$loc/${filename}] Not Exist,Please Check!"
quit 1
fi
if [ ${fun} == "co" ]
then
# Check out source code and write comment.
echo "." | cleartool ${fun} ${filename}
if [ -f ${HOME}/${filename} ]
then
echo "********************************"
echo "Notice: ${filename} already exsits!"
echo "Copy ${filename} as ${filename}.bak.$$"
echo "********************************"
cp ${HOME}/${filename} ${HOME}/${filename}.bak.$$
cp /vobs/source/$loc/${filename} ${HOME}/${filename}
echo "Checked Out File: [${filename}]"
else
cp /vobs/source/$loc/${filename} ${HOME}
echo "Checked Out File: [${filename}]"
fi
chmod 755 ${HOME}/${filename}
fi
if [ ${fun} == "unco" ]
then
echo "N" | cleartool ${fun} ${filename}
fi
if [ ${fun} == "ci" ]
then
if [ ! -f ${HOME}/${filename} ]
then
echo "Check In's File Dose Not Exsist!"
quit 1
fi
tt.sh ${HOME}/${filename}
cp ${HOME}/${filename} /vobs/source/$loc/
if [ $? -ne 0 ]
then
echo "Checkin cp File Error"
quit 1
fi
cleartool ${fun} ${filename}
fi
if [ ${fun} == "get" ]
then
# Get One of the old version
if [ ! -f /vobs/source/$loc/${getname} ]
then
echo "This Version Not Exsist!"
quit 1
fi
cp /vobs/source/$loc/${getname} ${HOME}/${getver}
echo "Get File: [${getname}]"
chmod 755 ${HOME}/${getver}
fi
if [ ${fun} == "bk" ]
then
# Get out the source code.
if [ -f ${HOME}/${filename} ]
then
else
fi
fi
if [ ${fun} == "sv" ]
then
cd /vobs/source/$loc/
echo 'ls -l ${filename}' |cleartool
fi
if [ ${fun} == "merge" ]
then
# Check out the source code then merge
echo "." | cleartool co ${filename}
cleartool ${fun} -to ${filename} -version /main/LATEST
if [ -f ${HOME}/${filename} ]
then
...
else
...
fi
echo "Then make sure use [${HOME}/${filename}] Check In!"
fi
!
exit $?
分享到:
相关推荐
该脚本作为一个辅助工具,其主要功能是连接到 FTP 服务器并下载一个预设配置的脚本,从而简化用户的操作流程。用户只需要提供 FTP 服务器的 IP 地址即可,无需创建新的 CD 镜像或进行额外的修改工作。 #### 服务器 ...
### 知识点总结 ...综上所述,这份Shell脚本为一个简化的图书管理系统,它通过一系列的shell命令实现了图书管理的基本功能。通过上述分析,我们可以了解到Shell脚本如何组织和执行命令来完成特定的任务。
4. **条件表达式与分支**:游戏逻辑中会涉及大量的条件判断,如玩家操作的合法性检查、游戏结束条件等,这些都可以通过`if`、`case`、`cond`等条件表达式来实现。 5. **循环与迭代**:游戏的更新和渲染往往涉及循环...
它基于Microsoft的Visual Basic编程语言,但进行了简化,使得非专业开发者也能轻松上手。本文将根据提供的内容,对VBScript中的关键概念进行深入解读。 #### 函数与子程序 - **函数(Function)**:用于执行特定计算...
7. **函数和脚本**:MATLAB支持函数定义(`.m`文件),以及脚本文件的编写和执行。了解如何定义函数头、局部变量和返回值是重要的。 8. **数据处理与分析**:包括统计分析(如均值、标准差、相关性)、数据排序、...
case 'clear': // 实现清除缓存逻辑 break; } } ``` 这里的关键是定义一个处理不同缓存动作的函数,并将其赋值给`$smarty->cache_handler_func`。自定义缓存处理函数接收多个参数,包括缓存动作、Smarty对象...
- **函数与脚本**:Matlab中的函数以.m文件形式存在,包括脚本(无输入输出参数)和函数(有输入输出参数)。 - **控制流结构**:包括if-else条件判断,for和while循环,switch-case选择结构。 2. **数值计算** ...
它由Microsoft开发,是Visual Basic家族的一部分,旨在简化和加速应用程序的开发过程。 VBScript的核心概念是变量、数据类型、控制结构和函数。在VBScript中,变量无需预声明,可以自动识别其数据类型,包括String...
- Rational Clear Case、Borland StarTeam、Merant PVCS Version Manager:这些工具功能更强大,但价格较高。 - CVS:开源且免费,但对初学者来说学习曲线较陡峭,主要在 Unix/Linux 环境中使用。 - VSS:虽然...
6. **脚本与函数的区别**:脚本是一系列按顺序执行的命令,而函数则是封装代码的模块,可以接收输入参数并返回结果。 7. **单元格数组和结构体**:这些复杂数据类型允许存储异构数据,便于数据管理和组织。 8. **...
VBA(Visual Basic for Applications)是Microsoft Office套件中的一种程序语言,它允许用户为Office应用程序(如Excel、Word等)编写定制化的脚本或宏,从而实现自动化处理任务、简化重复性工作流程等功能。...
13. `case`: 条件执行命令,根据不同的条件执行不同的操作。 14. `cat`: 显示文件内容,常用于查看文本文件。 15. `cd`: 改变当前工作目录,进入指定的目录路径。 16. `cfdisk`: 用于Linux分区表的管理,创建、删除...
3. **简化复杂操作**:对于复杂的计算或者数据分析任务,使用VBA可以编写出更简洁、逻辑更清晰的代码。 4. **定制解决方案**:企业或个人可以根据具体需求开发定制化的解决方案,而不依赖于软件本身的限制。 #### ...
- 流程控制语句:if-else、switch-case、while、do-while、for循环等。 - 异常处理:try-catch-finally、throw-throws。 3. **面向对象特性**: - 封装:使用类和对象的概念隐藏实现细节。 - 继承:通过extends...
这种方法不仅简化了安装过程,而且可以确保在多台服务器上快速、一致地部署数据库服务,这对于大规模的云环境或数据中心尤为有用。同时,自动化安装也有助于减少人为错误,提高系统的稳定性和可靠性。
- **`clear`**: 清除工作空间中的变量。 - **`disp`**: 显示变量值或字符串。 - **`length`**: 计算向量或数组的长度。 - **`load`**: 从文件加载数据到工作空间。 - **`mlock`**: 锁定变量,防止被清除。 - **`...
clear**: 清除工作区中的变量。 **2. disp**: 显示变量的值或者字符串。 **3. length**: 返回向量或矩阵的长度。 **4. load**: 加载数据文件到MATLAB工作区。 **5. mlock**: 锁定变量,防止被清除。 **6. ...
case/switch**: 开始switch语句的分支选择。 **3. catch**: 捕获异常。 **4. elseif**: if语句的扩展条件。 **5. end**: 结束for、while、switch、try或if语句。 **6. error**: 报告错误并中断程序执行。 ...
EJB 3.0是EJB技术的一个重要版本,它引入了许多新的特性来简化EJB组件的开发过程,特别是通过注解支持来减少XML配置的需求。 #### 二、EJB 3.0 运行环境配置 ##### 2.1 下载与安装 - **JBoss**: EJB 3.0通常与...