创建应用文件:createCIApp.sh
#!/bin/bash
#@author Zjmainstay
#@website http://zjmainstay.cn
#@copyright GPL
# @version 1.0
# @year 2014
#Get file path
FILE_PATH=$0
FILE_PATH_BAK="$FILE_PATH.bak"
FILE_PATH_INSTALLED="$FILE_PATH.installed"
pwd
FILE_DIR=`dirname $0`
FILE_NAME=${FILE_PATH##*/}
#App name
read -p "Please input your app name: " app
if [ -z $app ]
then
echo "Please input your app name."
exit
fi
function getpasswordsum() {
local password=$1
#Save password in tmp file
local PASSWORD_FILE="/tmp/passwd"
echo $password > $PASSWORD_FILE
#md5sum password file
local md5sumfile=`md5sum $PASSWORD_FILE`
#remove it
rm $PASSWORD_FILE
#get md5sum part
passwordsum=${md5sumfile%% *}
echo $passwordsum
}
#install password
INSTALL_PASSWORD="install_password"
#realpassword set before for match
realpasswordsum="$INSTALL_PASSWORD"
if [ $realpasswordsum == $INSTALL_PASSWORD ]
then
read -p "Please set your install password: " initpassword
read -p "Please confirm your install password: " confirmpassword
if [ $initpassword != $confirmpassword ]
then
echo "Password is not match."
exit
else
#install password
initpasswordsum=`getpasswordsum $initpassword`
CMD_REPLACE_PASSWORD="cat $FILE_NAME | sed 's/realpasswordsum=\"\$INSTALL_PASSWORD\"/realpasswordsum=\"$initpasswordsum\"/g' > $FILE_PATH_INSTALLED"
echo $CMD_REPLACE_PASSWORD | sh
fi
else
# Password check
read -p "Please input your password: " password
if [ -z $password ]
then
echo "Please input your password."
exit
else
inputpasswordsum=`getpasswordsum $password`
if [ "$inputpasswordsum" != "$realpasswordsum" ]
then
echo "Password Error."
exit
fi
fi
fi
#######=============================
#path
HOME_PATH=~
FRAMEWORK_PATH="$HOME_PATH/Framework"
CI_FRAMEWORK_PATH="$FRAMEWORK_PATH/CodeIgniter"
WEB_PATH="$HOME_PATH/Web"
APP_PATH="$HOME_PATH/Applications/$app"
APP_PUBLIC_PATH="$APP_PATH/www"
#create framework dir
if [ ! -d $FRAMEWORK_PATH ]
then
mkdir $FRAMEWORK_PATH
fi
#download CodeIgniter Framework
if [ ! -d $CI_FRAMEWORK_PATH ]
then
cd $FRAMEWORK_PATH
git clone https://github.com/EllisLab/CodeIgniter
fi
#check if app exists
if [ -d $APP_PATH ]
then
echo "App is exists, Please change your app name"
exit
fi
#do create app
#create app dir
mkdir $APP_PATH
#copy CodeIgniter framework to app dir
cp -R $CI_FRAMEWORK_PATH/* $APP_PATH
#delete system dir, use symbol link instead
rm -rf $APP_PATH/system
ln -s $CI_FRAMEWORK_PATH/system $APP_PATH/system
#rm user guide src dir
rm -rf $APP_PATH/user_guide_src
#create web visit dir, use symbol link from application path
mkdir $APP_PUBLIC_PATH
#replace app visit file to relative path
CMD_REPLACE="cat $APP_PATH/index.php | sed \"s/'system'/'..\/system'/g\" | sed \"s/'application'/'..\/application'/g\" > $APP_PUBLIC_PATH/index.php"
echo $CMD_REPLACE | sh
#link app public dir to web
ln -s $APP_PUBLIC_PATH $WEB_PATH/$app
#if first install
if [ -f $FILE_PATH_INSTALLED ]
then
#bak install sh, and replace into installed
mv $FILE_PATH $FILE_PATH_BAK
mv $FILE_PATH_INSTALLED $FILE_PATH
chmod 744 $FILE_PATH
fi
echo "App $app created."
删除应用文件:deleteCIApp.sh
#!/bin/bash
#@author Zjmainstay
#@website http://zjmainstay.cn
#@copyright GPL
# @version 1.0
# @year 2014
#Get file path
FILE_PATH=$0
FILE_PATH_BAK="$FILE_PATH.bak"
FILE_PATH_INSTALLED="$FILE_PATH.installed"
pwd
FILE_DIR=`dirname $0`
FILE_NAME=${FILE_PATH##*/}
#App name
read -p "Please input your app name: " app
if [ -z $app ]
then
echo "Please input your app name."
exit
fi
function getpasswordsum() {
local password=$1
#Save password in tmp file
local PASSWORD_FILE="/tmp/passwd"
echo $password > $PASSWORD_FILE
#md5sum password file
local md5sumfile=`md5sum $PASSWORD_FILE`
#remove it
rm $PASSWORD_FILE
#get md5sum part
passwordsum=${md5sumfile%% *}
echo $passwordsum
}
#install password
INSTALL_PASSWORD="install_password"
#realpassword set before for match
realpasswordsum="$INSTALL_PASSWORD"
if [ $realpasswordsum == $INSTALL_PASSWORD ]
then
read -p "Please set your install password: " initpassword
read -p "Please confirm your install password: " confirmpassword
if [ $initpassword != $confirmpassword ]
then
echo "Password is not match."
exit
else
#install password
initpasswordsum=`getpasswordsum $initpassword`
CMD_REPLACE_PASSWORD="cat $FILE_NAME | sed 's/realpasswordsum=\"\$INSTALL_PASSWORD\"/realpasswordsum=\"$initpasswordsum\"/g' > $FILE_PATH_INSTALLED"
echo $CMD_REPLACE_PASSWORD | sh
fi
else
# Password check
read -p "Please input your password: " password
if [ -z $password ]
then
echo "Please input your password."
exit
else
inputpasswordsum=`getpasswordsum $password`
if [ "$inputpasswordsum" != "$realpasswordsum" ]
then
echo "Password Error."
exit
fi
fi
fi
#######=============================
#Do remove app
HOME_PATH=~
APP_PATH="$HOME_PATH/Applications/$app"
WEB_PATH="$HOME_PATH/Web"
#check app exists
if [ ! -d $APP_PATH ]
then
echo "App $app is not exists, please check it."
if [ -f $FILE_PATH_INSTALLED ]
then
rm $FILE_PATH_INSTALLED
fi
exit
fi
#remove app dir
rm -rf $APP_PATH
#remove web symbol link
rm $WEB_PATH/$app
#if first install
if [ -f $FILE_PATH_INSTALLED ]
then
#bak install sh, and replace into installed
mv $FILE_PATH $FILE_PATH_BAK
mv $FILE_PATH_INSTALLED $FILE_PATH
chmod 744 $FILE_PATH
fi
echo "App $app removed."
Friendly Link: Koding.com - 免费Linux开发平台 未经同意禁止转载!
转载请附带本文原文地址:Shell for quick start with CodeIgniter in koding,首发自 Zjmainstay学习笔记




