mkdir ~/.apps
# rz 上传文件
mv OpenJDK25U-jdk_x64_linux_hotspot_25.0.2_10.tar.gz .apps/
mv maven-mvnd-1.0.3-linux-amd64.tar.gz .apps/
cd .apps/
tar zxf OpenJDK25U-jdk_x64_linux_hotspot_25.0.2_10.tar.gz
tar zxf maven-mvnd-1.0.3-linux-amd64.tar.gz
mv jdk-25.0.2+10/ jdk-25.0.2
tee -a ~/.bashrc > /dev/null <<'EOF'
# Java Configuration
export JAVA_HOME=/home/josh/.apps/jdk-25.0.2
export MVND_HOME=/home/josh/.apps/maven-mvnd-1.0.3-linux-amd64
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:$MVND_HOME/bin:$MVND_HOME/mvn/bin
EOF
source ~/.bashrc
mkdir -p ~/.m2
cp ~/.m2/settings.xml ~/.m2/settings.xml.bak.$(date +%Y%m%d_%H%M%S) 2>/dev/null || true
tee ~/.m2/settings.xml > /dev/null <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<settings
xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- <localRepository>D:/ws/maven-repo</localRepository> -->
<pluginGroups></pluginGroups>
<proxies></proxies>
<servers></servers>
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles></profiles>
<activeProfiles></activeProfiles>
</settings>
EOFBASHRC_FILE="$HOME/.bashrc"
MARKER_BEGIN="# >>> josh custom aliases and functions >>>"
MARKER_END="# <<< josh custom aliases and functions <<<"
if grep -qF "$MARKER_BEGIN" "$BASHRC_FILE"; then
echo "已存在配置,跳过追加:$BASHRC_FILE"
else
tee -a "$BASHRC_FILE" > /dev/null <<'EOF'
# >>> josh custom aliases and functions >>>
# ===============================
# Docker 快速操作
# ===============================
alias dps='docker ps'
alias dpa='docker ps -a'
alias dlogs='docker logs -f'
alias dexec='docker exec -it'
# kubectl alias begin
alias k='kubectl'
alias ka='kubectl apply -f'
alias kdel='kubectl delete -f'
alias kd='kubectl describe'
alias ke='kubectl explain'
alias kgp='kubectl get pod'
alias kgpa='kubectl get pods --all-namespaces'
alias kgs='kubectl get service'
alias kgps='kubectl get pod,service'
alias kgsa='kubectl get services --all-namespaces'
alias kds='kubectl describe services'
alias kdp='kubectl describe pod'
# kubectl alias end
alias gp='git pull'
alias g='git'
alias gti='git'
alias gpl='git pull'
alias mcp='mvn clean package'
alias mci='mvn clean install'
# can use me to call the function me()
function me() {
echo "I'm billy"
}
export COLOR_RED='\e[1;31m'
export COLOR_GREEN='\e[1;32m'
export COLOR_YELOW='\e[1;33m'
export COLOR_BLUE='\e[1;34m'
export COLOR_PINK='\e[1;35m'
export COLOR_NONE='\e[0m'
echo -e " ${COLOR_PINK}===================${COLOR_NONE}"
echo -e " ${COLOR_PINK} welcome by .bashrc ${COLOR_NONE}"
echo -e " ${COLOR_PINK}===================${COLOR_NONE}"
function cpu_count() {
grep -c ^processor /proc/cpuinfo
}
##############################
# usage: check_ssl_expire eblog.valuetodays.cn
##############################
function check_ssl_expire() {
local domain=$1
local port=${2:-443}
local warn_days=${3:-10}
if [ -z "$domain" ]; then
echo "usage: check_ssl_expire <domain> [port] [warn_days]"
return 1
fi
# 获取当前日期的 Unix 时间戳(秒)
local current_timestamp
current_timestamp=$(date +%s)
# 获取证书到期时间
local expires
expires=$(echo | openssl s_client -connect "${domain}:${port}" -servername "${domain}" 2>/dev/null \
| openssl x509 -noout -enddate 2>/dev/null \
| cut -d'=' -f2)
if [ -z "$expires" ]; then
echo "can not get SSL cert info, please check domain (${domain}) or internet"
return 1
fi
# 将到期日期转换为 Unix 时间戳
local expires_timestamp
expires_timestamp=$(date -d "$expires" +%s)
# 计算剩余天数
local remaining_days
remaining_days=$(( (expires_timestamp - current_timestamp) / 86400 ))
if [ "$remaining_days" -le "$warn_days" ]; then
local payload
payload=$(jq -n \
--arg c "ssl cert for ${domain} is valid for ${remaining_days} days, do not forget to refresh it." \
--arg r "ssl-cert" '{content: $c, repo: $r}')
curl -X POST "http://go.valuetodays.cn/api/public/notify/anon/cdci.do" \
-H "Content-Type: application/json; charset=utf-8" \
-d "$payload"
elif [ "$remaining_days" -le 15 ]; then
echo do nothing
else
echo "$domain ssl cert is valid for $remaining_days days."
fi
}
# <<< josh custom aliases and functions <<<
EOF
echo "已追加配置到:$BASHRC_FILE"
fi
source ~/.bashrc作者:张三 创建时间:2026-06-07 09:23
最后编辑:张三 更新时间:2026-06-07 09:23
最后编辑:张三 更新时间:2026-06-07 09:23