Erreur32 revisou este gist 6 months ago. Ir para a revisão
Sem alterações
Erreur32 revisou este gist 6 months ago. Ir para a revisão
Sem alterações
Erreur32 revisou este gist 9 months ago. Ir para a revisão
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 revisou este gist 10 months ago. Ir para a revisão
1 file changed, 57 insertions
do_compose.sh(arquivo criado)
| @@ -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" | |