-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinit-env.sh
More file actions
executable file
·66 lines (57 loc) · 2.43 KB
/
init-env.sh
File metadata and controls
executable file
·66 lines (57 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/bash
echo "[❕] Initialisation des variables d'environnement"
if [ ! -f ".env" ]; then
cp .env.example .env
fi
# Enable nullglob so the loop is skipped when there are no matches
shopt -s nullglob
for f in ./config/.env.example.*; do
# basename like: .env.example.econoris_server or .env.example.ln.econoris_app
base=$(basename "$f")
if [[ "$base" == *.ln.* ]]; then
# Link case: create a link without the ".ln" token to uniformize env filenames
# extract app name after the ".ln." token
app_name="${base##*.ln.}"
link_name="./config/.env.${app_name}"
link_target="../${app_name}/.env"
if [ -e "$link_name" ]; then
if [ -L "$link_name" ]; then
# already a symlink: check target
existing_target=$(readlink "$link_name")
if [ "$existing_target" = "$link_target" ]; then
echo "[ℹ️] Lien déjà présent $link_name -> $link_target"
else
echo "[⚠️] Un lien existe déjà en $link_name mais pointe vers $existing_target (attendu: $link_target)."
fi
else
echo "[⚠️] Un fichier existe déjà en $link_name et n'est pas un lien. Aucun changement effectué."
fi
else
ln -s "$link_target" "$link_name"
echo "[✅] Lien créé : $link_name -> $link_target"
env_example_path="./config/.env.example.ln.${app_name}"
env_path="../${app_name}/.env"
if [ -d "../${app_name}" ]; then
if [ ! -f "$env_path" ] && [ -f "$env_example_path" ]; then
cp "$env_example_path" "$env_path"
echo "[✅] Copie : $env_example_path -> $env_path"
elif [ -f "$env_path" ]; then
echo "[ℹ️] Le fichier $env_path existe déjà, aucune copie effectuée."
fi
else
echo "[⚠️] Le dossier ../${app_name} n'existe pas, impossible de copier $env_example_path."
fi
fi
else
target="./config/.env.${f##*.}"
if [ ! -f "$target" ]; then
cp "$f" "$target"
echo "[✅] Copie : $f -> $target"
else
echo "[ℹ️] Déjà présent : $target"
fi
fi
done
# restore shell option to default (optional)
shopt -u nullglob
echo "[✅] Variables d'environnement initialisées."