ubuntu 下shell 命令的学习1----(编写自动化安装脚本)
来源:互联网 发布:有必要买保险吗 知乎 编辑:程序博客网 时间:2024/05/27 00:39
今天安装opencv2.3.0在自己的机器上,因为觉得用脚本执行一系列安装的命令比较方便,所有花了一天的时间初步学习了怎么编写最简单的shell 脚本。
首先安装Opencv2.3.0需要cmake 配合。所以去官网上下载了cmake2.8的源码进行编译安装。
其实安装cmake 的步骤并不复杂,需要先安装g++ 然后在cmake 的目录里面make && make install 。但是今天要使用shell 脚本来执行自动下载和安装就比较麻烦了。附上源代码。
代码本身并作过多的解释,应该很容易看得懂,就是首先下载,然后解压,然后判断当前的系统是否已经安装了g++,之后在编译安装。
不过最要命的问题是在执行shell脚本的时候会出现:unexpected operator.这样的错误。查阅资料后发现了解决的方法,在我的另外一篇文字中http://blog.csdn.net/bush2582/article/details/20140871
之后,就顺顺利利的搞定了。
########################################################################## File Name: Install_cmake.sh# Author: ma6174# mail: ma6174@163.com# Created Time: 2014年02月28日 星期五 13时32分53秒##########################################################################!/bin/bash############################################### FunctionName:echocolor# Author: bush2582# Role:the output will have color# Created Time: ##############################################echocolor( ){ echo -e "\e[0;33m${@}\e[0m";}############################################### FunctionName:InstallGCC# Author: bush2582# Role:check g++ is already in system# Created Time: ##############################################function InstallGCC ( ){which g++;if [ $? -eq 1 ];thenread -p " g++ is not installed in this system do you want to install? (Y/y/n/N) " ynInstall_GCC;if [ $ynInstall_GCC = "Y" ] || [ $ynInstall_GCC = "y" ] ;then#echo " now we will install g++ ";echocolor "now we will install g++"sudo apt-get install g++;fielseechocolor "g++ already install in this system ";fi}############################################### FunctionName:InstallCmake# Author: bush2582# Role:install Cmake# Created Time: ##############################################function InstallCmake( ){ InstallGCC; echocolor " now we will star the program that CMake is installed in this system "; cd cmake-2.8.0; ./configure; sudo make; sudo make install; exit 0;}#########################################################################read -p "Do you want to download Cmake? (Y/y/n/N)?" downynif [ $downyn = "Y" ] || [ $downyn = "y" ];then wget http://down1.chinaunix.net/distfiles/cmake-2.8.0.tar.gz;echocolor "now Staring Tar cmake";tar -xvf cmake-2.8.0.tar.gz;elseechocolor "now Staring Tar cmake";tar -xvf cmake-2.8.0.tar.gz;firead -p " Do you want to install camke now (Y/y/n/N)? " ynif [ $yn = "y" ] || [ $yn = "Y" ] ;thenInstallCmake;elseexit 0;fi
######################################################################## File Name: LoadOpencv.sh# Author: ma6174# mail: ma6174@163.com# Created Time: 2014年02月28日 星期五 10时46分11秒##########################################################################!/bin/bash#--------------------------------------------## FunctionName:echocolor# Author: bush2582# Role:the output will have color# Created Time: #--------------------------------------------#echocolor( ){ echo -e "\e[0;33m${@}\e[0m"; }read -p "Do you want to download Opencv-2.3.0? (Y/N)" DownLoadOpencvif [ $DownLoadOpencv = "Y" ];thenechocolor "now Staring downLoad Opencv2.3.0 ";wget http://nchc.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.3/OpenCV-2.3.0.tar.bz2;echocolor "Staring tar OpenCV-2.3.0.tar.bz2 "tar -xvf OpenCV-2.3.0.tar.bz2elsetar -xvf OpenCV-2.3.0.tar.bz2echocolor "Staring tar OpenCV-2.3.0.tar.bz2 "ficd OpenCV-2.3.0sudo mkdir relesecd releseread -p "Please input Dir which you want to install " Dirsudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=$Dir -D BUILD_PYTHON_SUPPORT=ON ..read -p "now we will star opencv make&&install in $Dir .Do you want to continue?( Y/N ) " GoOnif [ $GoOn = "Y" ] ;thensudo make sudo make installelseexit 0;fi
0 0
- ubuntu 下shell 命令的学习1----(编写自动化安装脚本)
- shell编写自动化发布脚本
- Ubuntu编写shell脚本
- 基于ubuntu编写的几个shell脚本
- JDK在Ubuntu环境下的Shell脚本自动安装
- ubuntu 下安装配置jdk的shell脚本程序
- 复制命令的Shell脚本编写示例
- shell 脚本编写学习
- 学习编写Shell脚本
- linux下的shell脚本编写
- Shell脚本实现自动化安装
- Hadoop自动化安装shell脚本
- 40 在Ubuntu下编写shell脚本流程简单说明
- 学习编写shell脚本(一)
- shell脚本的编写
- shell脚本的编写
- shell脚本的编写
- 【Shell脚本学习1】Shell简介:什么是Shell,Shell命令的两种执行方式
- Timer和TimerTask详解
- PAT 1035. Password
- ns2代码里面怎么得到其它节点的位置?
- ThinkPHP实现支付宝接口功能
- hdu 4027 Can you answer these queries? 线段树特殊更新节点
- ubuntu 下shell 命令的学习1----(编写自动化安装脚本)
- android访问I2C接口
- Timer与ScheduledExecutorService间的选择
- 虚继承与普通继承之间的关系
- linux命令英文全名及含义
- 你所不知道的C和C++运行库
- sicily 1093
- Hibernate文档笔记
- 网络子系统86_inet协议族-l4向下(一)