提交 603899d5 编写于 作者: wenliang999's avatar wenliang999

上传新文件

上级 a025f4cb
#!/bin/bash
#
# 注释说明
function script_mini::run(){
local SCRIPT_NAME=${BASH_SOURCE[0]##*/}
local SCRIPT_PATH=$(cd ${BASH_SOURCE[0]%/*} 2>/dev/null 1>/dev/null; pwd)
local PWD_PATH=$(pwd)
local PID_CURR=$$
local TIME_CURR=$(date "+%Y.%m.%d.%H.%M.%S")
function echo_plus() { [ "${ECHO_PLUS_ENBALE}" == "1" ] && echo -e "\033[0;34m[${SCRIPT_NAME}] $@\033[0m"; }
function echo_plus_var() { for _var in $@; do eval echo_plus "$_var = \${$_var}"; done }
function FUNCTION_HELP(){
echo "${SCRIPT_NAME}"
echo " OPTIONS: [-h] [-help] 帮助信息"
echo " [-l] [-list] 显示可以的下载列表"
echo " [\${KEYWORD}] 下载包含KEYWORD关键字的toolchain,支持多个KEYWORD"
echo " USAGE: "
echo " ./${SCRIPT_NAME} gcc ;#下载带有gcc字段的编译器"
}
[[ " $@ " =~ " --help " ]] || [[ " $@ " =~ " -h " ]] && FUNCTION_HELP && return
[[ " $@ " =~ " --info " ]] || [[ " $@ " =~ " -i " ]] && local ECHO_PLUS_ENBALE=1 && echo_plus "SCRIPT LOG(echo_plus) Enable."
[ "${TOOLCHAIN_GIT_URL}" == "" ] && local TOOLCHAIN_GIT_URL="https://codechina.csdn.net/codefast/toolchain.git"
local TOOLCHAIN_GIT_COMMON_BRANCH=script
echo_plus_var SCRIPT_NAME SCRIPT_PATH PWD_PATH PID_CURR TIME_CURR
echo_plus_var TOOLCHAIN_GIT_URL
echo_plus_var TOOLCHAIN_GIT_COMMON_BRANCH
echo_plus "Add background monitoring"
echo_plus $( while [ "1" = "1" ] ; do
sleep 0.1; [[ ! "$(cat /proc/${PID_CURR}/cmdline 2>/dev/null)" =~ "$(echo $0$@ | sed 's/ //g')" ]] && break;
done;
sleep 0.1
echo_plus "\n${SCRIPT_NAME} Destroy (PID=${PID_CURR},$$)\n"
rm -rf "${PWD_PATH}/TEMP_${TIME_CURR}"
) & 1>/dev/null 2>&1
echo_plus $( mkdir -p ${PWD_PATH}/TEMP_${TIME_CURR};
cd ${PWD_PATH}/TEMP_${TIME_CURR};
git init 1>>log1.txt 2>>log2.txt;
git remote add origin ${TOOLCHAIN_GIT_URL} 1>>log1.txt 2>>log2.txt;
git remote show origin >> git_remote.log.txt 2>>log2.txt;
cat git_remote.log.txt | grep "gcc" | sed -e 's/^[ ]*//g' | cut -d ' ' -f 1 > GIT_BRANCH.log.txt;
) 1>/dev/null 2>&1
[[ " $@ " =~ " --list " ]] || [[ " $@ " =~ " -l " ]] && cat ${PWD_PATH}/TEMP_${TIME_CURR}/GIT_BRANCH.log.txt && return
local GREP_STRING
for argv in $@; do
[ "${argv:0:1}" == "-" ] && continue
local GREP_STRING="${GREP_STRING} | grep \"$argv\"";
done
echo_plus_var GREP_STRING
local GIT_BRANCH=$(eval cat ${PWD_PATH}/TEMP_${TIME_CURR}/GIT_BRANCH.log.txt ${GREP_STRING} | head -n 1)
echo_plus_var GIT_BRANCH
[ "${GIT_BRANCH}" == "" ] && return
echo_plus $( mkdir -p ${PWD_PATH}/TEMP_${TIME_CURR}/${TOOLCHAIN_GIT_COMMON_BRANCH};
cd ${PWD_PATH}/TEMP_${TIME_CURR}/${TOOLCHAIN_GIT_COMMON_BRANCH};
git clone ${TOOLCHAIN_GIT_URL} --quiet --depth 1 -b ${TOOLCHAIN_GIT_COMMON_BRANCH};
mkdir -p ${PWD_PATH}/TEMP_${TIME_CURR}/${GIT_BRANCH};
cd ${PWD_PATH}/TEMP_${TIME_CURR}/${GIT_BRANCH};
git clone ${TOOLCHAIN_GIT_URL} --quiet --depth 1 -b ${GIT_BRANCH};
mkdir -p ${PWD_PATH}/${GIT_BRANCH};
mv ${PWD_PATH}/TEMP_${TIME_CURR}/*/*/* ${PWD_PATH}/${GIT_BRANCH} 2>/dev/null;
) 1>/dev/null 2>&1
return
}
script_mini::run $@
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册