添加linux兼容

This commit is contained in:
yi-ge 2019-08-20 13:45:27 +08:00
parent 1b77233ab3
commit a47177b631

View File

@ -3,7 +3,7 @@
# Check root
if [ `whoami` != "root" ];then
echo -e "\nYou need to be root to perform this command. \n"
exit 0
exit 4
fi
os=$(uname | tr '[:upper:]' '[:lower:]')
@ -11,8 +11,7 @@ os=$(uname | tr '[:upper:]' '[:lower:]')
platform() {
local support_os=("darwin" "linux" "freebsd")
if [[ "$os" == ${support_os[0]} || "$os" == ${support_os[1]} || "$os" == ${support_os[2]} ]]
then
if [[ "$os" == ${support_os[0]} || "$os" == ${support_os[1]} || "$os" == ${support_os[2]} ]]; then
echo $os
else
echo "no"
@ -28,10 +27,6 @@ arch() {
;;
"x86") out="386"
;;
# "armv7l") out="armv7l"
# ;;
# "amd64") out="amd64"
# ;;
*) out=res
;;
esac
@ -39,16 +34,12 @@ arch() {
echo $out
}
getLatestVersion() {
local res=$(curl -s https://server-0.sercretcore.cn/api/download\?arch=`arch`\&platform=`platform`)
local status=$(echo "${res}" | grep -Eo '"status":.*?[^\\]' | sed 's/"status"://g')
if [ ${status} == 1 ]
then
local downloadURL=$(echo "${res}" | grep -Eo '"downloadURL":.*?[^\\]",' | sed 's/"downloadURL":"//g' | sed 's/",//g')
echo ${downloadURL}
grepCross() {
local out=$(grep --version | grep -o "FreeBSD")
if [[ $out == "FreeBSD" ]]; then
echo $(grep -Eo "$@")
else
echo "no"
echo $(grep -Po "$@")
fi
}
@ -58,7 +49,7 @@ cmdhas() {
download() {
if cmdhas "curl"; then
sudo curl --compressed -q "$@"
curl --compressed -q "$@"
elif cmdhas "wget"; then
# Emulate curl with wget
ARGS=$(echo "$*" | command sed -e 's/--progress-bar /--progress=bar /' \
@ -69,21 +60,43 @@ download() {
-e 's/-o /-O /' \
-e 's/-C - /-c /')
# shellcheck disable=SC2086
eval sudo wget $ARGS
eval wget $ARGS
fi
}
getLatestVersion() {
local platformValue=`platform`
if [[ platformValue == "no" ]]; then
echo -e "\nThis operating system is not supported.\n"
exit 10
elif [[ platformValue == "freebsd" ]]; then
echo -e "\nFreeBSD system is not supported for the time being.\n"
exit 10
fi
local res=$(download -s https://server-0.sercretcore.cn/api/download\?arch=`arch`\&platform=`platform`)
local status=$(echo "${res}" | grepCross '"status":.' | sed 's/"status"://g')
if [[ "${status}" == "1" ]]; then
local downloadURL=$(echo "${res}" | grepCross '"downloadURL":".*?[^\\]",' | sed 's/"downloadURL":"//g' | sed 's/",//g')
echo ${downloadURL}
else
echo "no"
fi
}
Install() {
downloadURL=`getLatestVersion`
echo ${downloadURL}
if [[ "${downloadURL}" != "no" ]]
then
if [[ "${downloadURL}" != "no" ]]; then
mkdir -p /usr/local/dc-agent/bin
mkdir -p /usr/local/dc-agent/log
download "${downloadURL}" -o "/usr/local/dc-agent/bin/dc-agent"
echo -e "\n"
chmod +x /usr/local/dc-agent/bin/dc-agent
sudo chmod 755 /usr/local/dc-agent/bin/dc-agent
sudo /usr/local/dc-agent/bin/dc-agent install
sudo /usr/local/dc-agent/bin/dc-agent start
else