Ostatnio aktywny 1 month ago

Crée un dossier et un docker-compose.yaml directement en une commande.

Erreur32's Avatar Erreur32 zrewidował ten Gist 6 months ago. Przejdź do rewizji

Brak zmian

Erreur32's Avatar Erreur32 zrewidował ten Gist 6 months ago. Przejdź do rewizji

Brak zmian

Erreur32's Avatar Erreur32 zrewidował ten Gist 9 months ago. Przejdź do rewizji

1 file changed, 8 insertions

do_compose.sh

@@ -7,6 +7,7 @@
7 7 BASE_DIR="/home/docker" # Répertoire racine
8 8 EDITOR="nano" # Editeur (nano, vim, etc.)
9 9 DEFAULT_EXT="yaml" # Extension par défaut : yaml ou yml
10 + AUTO_CD=true # true = rester dans le dossier après édition
10 11 # ===================================================
11 12
12 13 # Vérification argument
@@ -55,3 +56,10 @@ fi
55 56 cd "$TARGET_DIR" || { echo "❌ Impossible d'accéder à $TARGET_DIR"; exit 1; }
56 57 echo "✏️ Ouverture de $COMPOSE_FILE dans $EDITOR..."
57 58 $EDITOR "$COMPOSE_FILE"
59 +
60 + # Après fermeture de l'éditeur
61 + if [ "$AUTO_CD" = true ]; then
62 + exec bash
63 + else
64 + echo "✅ Fichier édité. Vous êtes toujours dans : $PWD"
65 + fi

Erreur32's Avatar Erreur32 zrewidował ten Gist 10 months ago. Przejdź do rewizji

1 file changed, 57 insertions

do_compose.sh(stworzono plik)

@@ -0,0 +1,57 @@
1 + #!/bin/bash
2 + #
3 + # do_compose : Crée un dossier et un docker-compose dans /home/docker/
4 + # Usage : do_compose nom_du_rep
5 +
6 + # ===================== CONFIG =====================
7 + BASE_DIR="/home/docker" # Répertoire racine
8 + EDITOR="nano" # Editeur (nano, vim, etc.)
9 + DEFAULT_EXT="yaml" # Extension par défaut : yaml ou yml
10 + # ===================================================
11 +
12 + # Vérification argument
13 + if [ -z "$1" ]; then
14 + echo "❌ Utilisation : $0 nom_du_rep"
15 + exit 1
16 + fi
17 +
18 + NAME="$1"
19 + TARGET_DIR="${BASE_DIR}/${NAME}"
20 +
21 + # Si dossier existe déjà
22 + if [ -d "$TARGET_DIR" ]; then
23 + echo "⚠️ Le répertoire '$TARGET_DIR' existe déjà."
24 + echo "📂 Contenu :"
25 + ls -lh --color=auto "$TARGET_DIR"
26 +
27 + # Vérifie si un docker-compose existe
28 + if [ -f "${TARGET_DIR}/docker-compose.yaml" ] || [ -f "${TARGET_DIR}/docker-compose.yml" ]; then
29 + echo "⚠️ Un fichier docker-compose existe déjà ici."
30 + fi
31 +
32 + # Demande à l'utilisateur s'il veut continuer
33 + read -rp "❓ Continuer quand même ? (o/n) : " REP
34 + if [[ ! "$REP" =~ ^[oOyY]$ ]]; then
35 + echo "❌ Opération annulée."
36 + exit 0
37 + fi
38 + else
39 + mkdir -p "$TARGET_DIR" || { echo "❌ Impossible de créer $TARGET_DIR"; exit 1; }
40 + echo "📁 Répertoire '$TARGET_DIR' créé."
41 + fi
42 +
43 + # Nom du fichier compose
44 + COMPOSE_FILE="${TARGET_DIR}/docker-compose.${DEFAULT_EXT}"
45 +
46 + # Création du fichier si inexistant
47 + if [ -f "$COMPOSE_FILE" ]; then
48 + echo "⚠️ Le fichier $COMPOSE_FILE existe déjà."
49 + else
50 + touch "$COMPOSE_FILE" || { echo "❌ Impossible de créer $COMPOSE_FILE"; exit 1; }
51 + echo "📝 Fichier $COMPOSE_FILE créé."
52 + fi
53 +
54 + # Aller dans le dossier et ouvrir dans l'éditeur
55 + cd "$TARGET_DIR" || { echo "❌ Impossible d'accéder à $TARGET_DIR"; exit 1; }
56 + echo "✏️ Ouverture de $COMPOSE_FILE dans $EDITOR..."
57 + $EDITOR "$COMPOSE_FILE"
Nowsze Starsze