#!/bin/bash function read_variable(){ readonly install_path=/usr/local/ readonly install_tgz="redis-4.0.8.tar.gz" readonly install_name=`echo $install_tgz | sed 's/.tar.gz//g'` build_variable } function build_variable(){ release_url="https://download.redis.io/releases/" install_repo="https://download.redis.io/releases/${install_tgz}" workdir=`pwd` } function help1(){ echo -e "\033[01m" echo echo "$0 install" echo "$0 list" echo echo -e "\033[0m" } function list_redis(){ curl $release_url 2>/dev/null | awk -F">" '{print $2}' | grep redis | awk -F"<" '{print $1}' } function install_redis(){ [ -f ${install_path}/${install_name} ] && echo "Path Exist! Exit" && exit which wget 1> /dev/null [ $? -ne 0 ] && yum install wget -y [ -f $install_tgz ] || wget $install_repo [ ! -f $install_tgz ] && echo "Download Error! Exit" && exit tar xf $install_tgz cd $install_name [ $? -ne 0 ] && echo "Lost Directory! Exit" && exit yum install make gcc-c++ -y make MALLOC=GCC make install cd - &> /dev/null mv $install_name $install_path cd $install_path/$install_name ln -sf `pwd`/src/redis-server /usr/local/sbin/ ln -sf `pwd`/src/redis-cli /usr/local/sbin/ # rewrite conf cp redis.conf redis_bak.conf cat redis_bak.conf | grep -vw "^#" | grep -vw ^$ > redis.conf echo -e "\033[32m\033[01mInstall [Redis] Success!\033[0m" } case $1 in "install") read_variable install_redis ;; "list") read_variable list_redis ;; *) help1 ;; esac