`
linkyou66
  • 浏览: 228280 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

linux shell之一键式安装测试框架

 
阅读更多
<p>昨日写了一个一键式安装测试框架的脚本,因为是第一次写shell脚本遇到很多新知识,特将工作成果记录如下</p>
<p>知识点1:一个shell脚本如果用不同的sh执行,那么要分成多个脚本编写</p>
<p> 如部分代码rm,echo用的是bash,在第一行使用#!/bin/bash</p>
<p> 而spawn用的是expect,需要在第一行使用#!/usr/bin/expect -f,那么就要分开多个脚本,在母脚本中调用子脚本的形式。</p>
<p>知识点2:调用系统命令获取结果,需要用关键字单上引号。如key1</p>
<p>知识点3:可以用if [ ! -s "/usr/lib64/libmysqlclient_r.so.16" ] 来判断文件是否存在</p>
<p></p>
<p>源码如下:</p>
<p>#!/bin/bash<br>#install python and site-packages<br>rm -rf /usr/local/python<br>./scppython.sh<br>#install mysql lib<br>rm -rf /opt/mysqlrpm<br>./scpmysql.sh<br>rpm -ivh /opt/mysqlrpm/MySQL-client-5.5.10-1.rhel5.x86_64.rpm<br>rpm -ivh /opt/mysqlrpm/MySQL-devel-5.5.10-1.rhel5.x86_64.rpm<br>rpm -ivh /opt/mysqlrpm/MySQL-shared-5.5.10-1.rhel5.x86_64.rpm<br><br>dir=`which python` ##############key1<br>echo $dir<br>dir_bak=${dir}_bak<br>echo $dir_bak<br>mv $dir $dir_bak<br><br>ln -s /usr/local/python/bin/python /usr/ali/bin<br>if [ ! -s "/usr/lib64/libmysqlclient_r.so.16" ]<br>then<br> ln -s /usr/lib64/libmysqlclient_r.so.18.0.0 /usr/lib64/libmysqlclient_r.so.16<br>else<br> echo "have libmysqlclient_r.so"<br>fi<br><br><br>if [ ! -s "/usr/ali/lib/libpython2.5.so.1.0" ]<br>then<br> ./scplibpython25.sh<br>else<br> echo "be have libpython2.5.so.1.0"<br>fi<br>./scpice.sh<br>./scporacle.sh<br>./scpboost.sh<br>./bash_ex.sh</p>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics