写个简单linux脚本自动安装卸载mysql
在讲测试过程中适合做自动化操作的阶段时,我们说测试环境搭建也可以考虑自动化,给大家举个简单例子,linux环境下的mysql的自动安装卸载,vi myfile#!/bin/sh
echo "begin to uninstall mysql"
rpm -e MySQL-server-community-5.0.37-0.rhel4.i386
rpm -e MySQL-client-community-5.0.37-0.rhel4.i386
rpm -e MySQL-devel-community-5.0.37-0.rhel4.i386
echo "uninstall successful"
echo "begin to install mysql"
rpm -ivh MySQL-server-community-5.0.37-0.rhel4.i386.rpm
rpm -ivh MySQL-client-community-5.0.37-0.rhel4.i386.rpm
rpm -ivh MySQL-devel-community-5.0.37-0.rhel4.i386.rpm
echo "install successful"
以上语句放在某个文件中,将该文件权限修改成可执行
执行./myfile
然后输入mysql进行验证
[ 本帖最后由 thedaythegirl 于 2007-8-24 11:59 编辑 ] Good idea!sdlkfj3 老师:
#!/bin/sh只是起到注释作用吗?用shell语言编写的脚本都可以写上吗?
sh和bsh文件一样吗?老师上课的时候后来写的是bsh。
卸载时执行了rm -rf /var/lib/mysql后再安装,要重启才能使用mysql。如果卸载后重新安装的是同一个版本是不是就不用执行这条命令了。
[ 本帖最后由 linwenyan 于 2007-8-24 21:00 编辑 ] 原帖由 linwenyan 于 2007-8-24 20:59 发表 http://bbs.51testing.com/images/common/back.gif
老师:
#!/bin/sh只是起到注释作用吗?用shell语言编写的脚本都可以写上吗?
sh和bsh文件一样吗?老师上课的时候后来写的是bsh。
卸载时执行了rm -rf /var/lib/mysql后再安装,要重启才能使用mysql。如果卸载后重新安装的是同一个版本是不是就不用执行这条命令了。
1 #!开头的东西不是注释,该行一般写在shell程序源代码的第一行,作用是制定该shell的解释器
2 sh和bsh是两种不同的shell,sh是Bourne shell,bsh是beanshell,不过linux下常用的还是sh和bash两种shell。
3 rm -rf /var/lib/mysql是强行删除/var/lib/mysql目录以及其子目录和子目录里面的所有文件,慎用 rm的rf参数哦:)。mysql安装好后一般直接打开mysql的运行脚本或者以服务方式开启mysql就可以了。
sdlkfj1 写的不对的地方还望老师纠正和补充:)
[ 本帖最后由 yang119345 于 2007-8-26 05:29 编辑 ] 原帖由 yang119345 于 2007-8-26 05:26 发表 http://bbs.51testing.com/images/common/back.gif
1 #!开头的东西不是注释,该行一般写在shell程序源代码的第一行,作用是制定该shell的解释器
2 sh和bsh是两种不同的shell,sh是Bourne shell,bsh是beanshell,不过linux下常用的还是sh和bash两种shell。 ...
sdlkfj2 谢谢!可是我把#!/bin/sh 去掉以后脚本同样可以运行,结果也一样啊。
[ 本帖最后由 linwenyan 于 2007-8-26 11:34 编辑 ] 原帖由 linwenyan 于 2007-8-26 11:00 发表 http://bbs.51testing.com/images/common/back.gif
sdlkfj2 谢谢!可是我把#!/bin/sh 去掉以后脚本同样可以运行,结果也一样啊。
当前用户可能就是这个shell,还有可能这个shell脚本体现不出shell之间的差异,有些shell之间大部分是一样的。 谢谢!sdlkfj2 周末重装了机器,没有看到帖子,呵呵
linux文件中的#是表示注释的意思
但#! 用法不表示注释,用来通知系统使用什莫类型的shell解释器
我们使用的linux默认的shell是bash,可以用命令echo $SHELL查看
没有#!/bin/bash 系统也会按照这个默认得shell类型来解释执行这个文件,但建议养成写这句话的习惯,不同的shell类型规则有一点不一样,如果当前的默认shell类型修改成别的,而你的可执行文件必须通过bash来解释的话,你就不得不加上这句话。
sh 是bounre shell,在有些unix系统上,也会用bsh这个简写,我们以前常写这个,这也是为什莫我在黑板上写这个的原因,呵呵
bash 是bounre Again shell
在咱们的linux上,你就用#!/bin/sh好了
以上脚本执行后,mysql和你手工安装的效果是一样的。
有问题的话,把你的操作过程和脚本一起发给我。
[ 本帖最后由 thedaythegirl 于 2007-8-27 12:25 编辑 ] 知道了,谢谢老师。sdlkfj2 原帖由 linwenyan 于 2007-8-24 20:59 发表 http://bbs.51testing.com/images/common/back.gif
老师:
#!/bin/sh只是起到注释作用吗?用shell语言编写的脚本都可以写上吗?
sh和bsh文件一样吗?老师上课的时候后来写的是bsh。
卸载时执行了rm -rf /var/lib/mysql后再安装,要重启才 ...
#!/bin/sh的作用或含义是指该shell脚本是由/bin/sh这个shell去解释执行的,如果你想换其他的shell去解释执行,那就相应的写其他的shell的名字即可 原帖由 yang119345 于 2007-8-26 05:26 发表 http://bbs.51testing.com/images/common/back.gif
1 #!开头的东西不是注释,该行一般写在shell程序源代码的第一行,作用是制定该shell的解释器
2 sh和bsh是两种不同的shell,sh是Bourne shell,bsh是beanshell,不过linux下常用的还是sh和bash两种shell。 ...
楼上的,是"指定",不是"制定" 在root用户权限下,敲如下的命令#echo $SHELL,列出当前系统可用的shell 终于找到了,不容易啊, 原帖由 red-hat 于 2007-8-28 11:21 发表 http://bbs.51testing.com/images/common/back.gif
楼上的,是"指定",不是"制定"
这个纯粹打字失误,呵呵。谢谢指出
页:
[1]