#! /bin/bash # temp file of as.sh TEMP_ARTHAS_FILE="./as.sh.$$" # target file of as.sh TARGET_ARTHAS_FILE="./as.sh" # update timeout(sec) SO_TIMEOUT=60 # default downloading url ARTHAS_FILE_URL="https://arthas.aliyun.com/as.sh" # exit shell with err_code # $1 : err_code # $2 : err_msg exit_on_err() { [[ ! -z "${2}" ]] && echo "${2}" 1>&2 exit ${1} } # check permission to download && install [ ! -w ./ ] && exit_on_err 1 "permission denied, target directory ./ was not writable." if [ $# -gt 1 ] && [ $1 = "--url" ]; then shift ARTHAS_FILE_URL=$1 shift fi # download from aliyunos echo "downloading... ${TEMP_ARTHAS_FILE}" curl \ -sLk \ --connect-timeout ${SO_TIMEOUT} \ $ARTHAS_FILE_URL \ -o ${TEMP_ARTHAS_FILE} \ || exit_on_err 1 "download failed!" # write or overwrite local file rm -rf as.sh mv ${TEMP_ARTHAS_FILE} ${TARGET_ARTHAS_FILE} chmod +x ${TARGET_ARTHAS_FILE} # done echo "Arthas install successed."