31 lines
1.1 KiB
Bash
Executable File
31 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 自动生成.env文件对应的.env.example文件
|
|
generate_env_example() {
|
|
# 清空原有的.env.example文件中的内容
|
|
> .env.example
|
|
|
|
# 逐行读取.env文件
|
|
while IFS= read -r line; do
|
|
# 去除首尾空格
|
|
line=$(echo "$line" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
|
# 如果是注释行或空白行,直接写入.env.example文件
|
|
if [[ $line == \#* || -z $line ]]; then
|
|
echo "$line" >> .env.example
|
|
# 如果是键值对行,判断键名是否包含指定字符串
|
|
elif [[ $line == *=* ]]; then
|
|
key=$(echo "$line" | cut -d= -f1)
|
|
value=$(echo "$line" | cut -d= -f2-)
|
|
# 如果键名包含指定字符串,将值清空写入.env.example文件
|
|
if [[ $key == *KEY || $key == *PASSWORD* || $key == *SECRET* || $key == *PASS || $key == *TOKEN || $key == *ID ]]; then
|
|
echo "$key=" >> .env.example
|
|
# 否则,清除首尾空格后原样写入.env.example文件
|
|
else
|
|
echo "$key=$value" >> .env.example
|
|
fi
|
|
fi
|
|
done < .env
|
|
}
|
|
|
|
# 每次run后都自动生成.env.example文件
|
|
generate_env_example |