linuxtool/Config/Docker/Installs/_action.sh
2025-05-19 22:41:57 +08:00

57 lines
1.4 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 接收参数
local_path=$1
selected_script=$2
# 配置存储路径
declare storage_path
read -p "请输入软件存储位置,默认 /var/www/${selected_script} " storage_path
if [[ -z ${storage_path} ]]; then
storage_path="/var/www/${selected_script}"
fi
# 检查并创建目录
if [[ ! -d "$storage_path" ]]; then
mkdir -p "$storage_path" || {
echo "目录创建失败"
exit 1
}
elif [[ ! -z "$(find "$storage_path" -mindepth 1 -print -quit)" ]]; then
echo "该目录存有文件"
read -p "是否继续?(y/n): " continue_choice
if [[ ! $continue_choice =~ [Yy] ]]; then
echo "安装已取消"
exit
fi
fi
# 生成随机端口
declare random_port=$(($RANDOM % 9000 + 1000))
while ss -tuln | grep $random_port &>/dev/null; do
random_port=$(($RANDOM % 9000 + 1000))
done
# 配置访问端口
declare access_port
read -p "请输入访问端口,默认 $random_port " access_port
if [[ -z $access_port ]]; then
access_port=$random_port
fi
# 检查端口是否被占用
if ss -tuln | grep $access_port &>/dev/null; then
echo "端口已被占用"
read -p "是否使用其他端口?(y/n): " port_choice
if [[ $port_choice =~ [Yy] ]]; then
read -p "请输入新的端口: " access_port
else
echo "安装已取消"
exit
fi
fi
# 执行原始安装脚本
bash "${local_path}/${selected_script}.sh" "$storage_path" "$access_port"
echo "${selected_script} 安装完成,访问端口 ${access_port}"