@@ -39,12 +39,21 @@ check_node_version() {
3939
4040# 安装Node.js v20以上版本
4141install_node_v20 () {
42- echo " 正在安装Node.js v20以上版本..."
43- curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
44- sudo apt-get update
45- sudo apt-get install -y nodejs
46- npm install -g cnpm --registry=https://registry.npmmirror.com
47- echo " Node.js v20以上版本安装完成。"
42+ echo " 正在安装NVM..."
43+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
44+
45+ # 启用NVM
46+ export NVM_DIR=" $( [ -z " ${XDG_CONFIG_HOME-} " ] && printf %s " ${HOME} /.nvm" || printf %s " ${XDG_CONFIG_HOME} /nvm" ) "
47+ [ -s " $NVM_DIR /nvm.sh" ] && \. " $NVM_DIR /nvm.sh"
48+
49+ # 安装Node.js 20.18.1
50+ echo " 正在安装Node.js 20.18.1..."
51+ nvm install 20.18.1
52+
53+ # 设置默认Node.js版本
54+ nvm alias default 20.18.1
55+
56+ echo " Node.js 20.18.1安装完成。"
4857}
4958
5059# 检查NVM是否存在,如果不存在则安装
@@ -129,8 +138,8 @@ get_device_ip() {
129138 # 这里使用的是ipinfo.io服务,你也可以使用其他服务
130139 IP=$( curl -s https://ipinfo.io/ip)
131140 if [ $? -eq 0 ]; then
132- echo " = 设备IP地址:$IP "
133- echo " = 公网IP自行打码"
141+ echo " = 设备IP地址:$IP "
142+ echo " = 公网IP自行打码"
134143 return 0
135144 else
136145 echo " 无法获取设备IP地址。"
@@ -212,25 +221,25 @@ initialize_default_env() {
212221 if [ ! -f " $env_path " ]; then
213222 echo " .env文件不存在,正在使用.env.development作为模板创建..."
214223 # 提示用户输入自定义值,并设置30秒超时
215- echo " 请输入网盘入库密码(30秒内无输入则使用默认值'drpys'):"
224+ echo " 请输入网盘入库密码(30秒内无输入则使用默认值'drpys'直接回车可跳过 ):"
216225 read -t 30 cookie_auth_code
217226 if [ -z " $cookie_auth_code " ]; then
218227 cookie_auth_code=" drpys"
219228 fi
220229
221- echo " 请输入登录用户名(30秒内无输入则使用默认值'admin'):"
230+ echo " 请输入登录用户名(30秒内无输入则使用默认值'admin'直接回车可跳过 ):"
222231 read -t 30 api_auth_name
223232 if [ -z " $api_auth_name " ]; then
224233 api_auth_name=" admin"
225234 fi
226235
227- echo " 请输入登录密码(30秒内无输入则使用默认值'drpys'):"
236+ echo " 请输入登录密码(30秒内无输入则使用默认值'drpys'直接回车可跳过 ):"
228237 read -t 30 api_auth_code
229238 if [ -z " $api_auth_code " ]; then
230239 api_auth_code=" drpys"
231240 fi
232241
233- echo " 请输入订阅PWD值(30秒内无输入则使用默认值'dzyyds'):"
242+ echo " 请输入订阅PWD值(30秒内无输入则使用默认值'dzyyds'直接回车可跳过 ):"
234243 read -t 30 api_pwd
235244 if [ -z " $api_pwd " ]; then
236245 api_pwd=" dzyyds"
@@ -253,17 +262,31 @@ initialize_default_env() {
253262 fi
254263}
255264
265+ # 定义读取.env文件参数的函数
266+ read_env_params () {
267+ # 读取.env文件中的参数值,考虑等号前后的空格
268+ COOKIE_AUTH_CODE=$( grep ' ^COOKIE_AUTH_CODE' .env | sed -e ' s/^[[:space:]]*//' -e ' s/[[:space:]]*$//' | cut -d' =' -f2)
269+ API_AUTH_NAME=$( grep ' ^API_AUTH_NAME' .env | sed -e ' s/^[[:space:]]*//' -e ' s/[[:space:]]*$//' | cut -d' =' -f2)
270+ API_AUTH_CODE=$( grep ' ^API_AUTH_CODE' .env | sed -e ' s/^[[:space:]]*//' -e ' s/[[:space:]]*$//' | cut -d' =' -f2)
271+ API_PWD=$( grep ' ^API_PWD' .env | sed -e ' s/^[[:space:]]*//' -e ' s/[[:space:]]*$//' | cut -d' =' -f2)
272+
273+ # 输出参数值
274+ echo " = 当前登录账户$API_AUTH_NAME "
275+ echo " = 当前登录密码$API_AUTH_CODE "
276+ echo " = 当前入库密码$COOKIE_AUTH_CODE "
277+ echo " = 当前订阅pwd值$API_PWD "
278+ }
279+
280+
256281# IP显示标识
257282has_displayed_ip=" "
258283# 显示内网和公网访问地址
259284display_ip_addresses () {
260285 echo " =================================================="
261286 echo " = 项目主页及相关默认值提示 "
262287 echo " = 内网访问地址:http://$LOCAL_IP :5757 "
263- echo " = 默认登录账户admin "
264- echo " = 默认登录密码drpys "
265- echo " = 默认入库密码drpys "
266- echo " = 默认订阅pwd值dzyyds "
288+ # 调用read_env_params函数来显示.env中的值
289+ read_env_params
267290 echo " = 如需修改以上密码值则自行修改源码根目录.env文件 "
268291 get_device_ip
269292 if [ $? -eq 0 ]; then
@@ -504,8 +527,8 @@ while true; do
504527 if [ -z " $has_displayed_ip " ]; then # 检查是否已经显示过IP地址
505528 echo " 当前仓库已经是最新的,无需更新。"
506529 display_ip_addresses
507- has_displayed_ip=1 # 设置一个标志,表示已经显示过IP地址
530+ has_displayed_ip=1 # 设置一个标志,表示已经显示过IP地址
508531 fi
509532 break # 退出循环
510533 fi
511- done
534+ done
0 commit comments