ubuntu 下shell 命令的學習1----(編寫自動化安裝腳本)

     今天安裝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: [email protected]
# 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 ];
	then
		read -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++;
		fi
	else
		echocolor "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)?" downyn
if [ $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;
else
	echocolor "now Staring Tar cmake";
	tar -xvf cmake-2.8.0.tar.gz;
fi

read -p " Do you want to install camke now (Y/y/n/N)? " yn
if [ $yn = "y"  ] || [ $yn = "Y"  ] ;
then	
	InstallCmake;
else
	exit 0;
fi


#######################################################################
# File Name: LoadOpencv.sh
# Author: ma6174
# mail: [email protected]
# 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)" DownLoadOpencv
if [ $DownLoadOpencv = "Y" ];
then
	echocolor "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.bz2
else
	tar -xvf OpenCV-2.3.0.tar.bz2
	echocolor "Staring tar OpenCV-2.3.0.tar.bz2 "
fi

cd OpenCV-2.3.0
sudo mkdir relese
cd relese

read -p "Please input Dir which you want to install " Dir
sudo 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 )  " GoOn
if [ $GoOn = "Y"  ] ;
then
	sudo make 
	sudo make install
else
	exit 0;
fi

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章