Modifications pour le document Scripts perso
Modifié par john le 2026/09/20 20:23
Résumé
-
Propriétés de la Page (1 modifications, 0 ajouts, 0 suppressions)
Détails
- Propriétés de la Page
-
- Contenu
-
... ... @@ -1,8 +1,10 @@ 1 += Scripts personnels = 2 + 1 1 {{toc/}} 2 2 3 3 == Présentation == 4 4 5 -Cette section regroupe mes **scripts Bash et outils d’automatisation** développés ou adaptés pour mes besoins personnels. 7 +Cette section regroupe mes **scripts Bash et outils d’automatisation** développés ou adaptés pour mes besoins personnels. 6 6 Ils couvrent des tâches variées : sauvegardes, nettoyage de fichiers, interactions graphiques avec Zenity, organisation de fichiers, etc. 7 7 8 8 ---- ... ... @@ -22,69 +22,51 @@ 22 22 23 23 == Bonnes pratiques à suivre == 24 24 25 -Toujours commencer par le shebang : 27 +* Toujours commencer par le shebang : 28 +{{code language="bash"}} #!/bin/bash 29 + {{/code}} 26 26 27 -{{code language="bash"}} 28 -#!/bin/bash 29 -{{/code}} 31 +* Mettre le script en mode strict : 32 +{{code language="bash"}} set -euo pipefail 33 + IFS=$'\n\t' 34 + {{/code}} 30 30 31 -Mettre le script en mode strict : 36 +* Documenter les fonctions : 37 +{{code language="bash"}} # Fonction : sauvegarde un répertoire 38 + function sauvegarde() { 39 + rsync -av "$1" "$2" 40 + } 41 + {{/code}} 32 32 33 -{{code language="bash"}} 34 -set -euo pipefail 35 -IFS=$'\n\t' 36 -{{/code}} 43 +* Utiliser `getopts` pour gérer les options : 44 +{{code language="bash"}} while getopts ":s:d:" opt; do 45 + case $opt in 46 + s) source=$OPTARG ;; 47 + d) dest=$OPTARG ;; 48 + esac 49 + done 50 + {{/code}} 37 37 38 -Documenter les fonctions : 39 - 40 -{{code language="bash"}} 41 -# Fonction : sauvegarde un répertoire 42 -sauvegarde() { 43 - rsync -av "$1" "$2" 44 -} 45 -{{/code}} 46 - 47 -Utiliser ##getopts## pour gérer les options : 48 - 49 -{{code language="bash"}} 50 -while getopts ":s:d:" opt; do 51 - case $opt in 52 - s) source=$OPTARG ;; 53 - d) dest=$OPTARG ;; 54 - esac 55 -done 56 -{{/code}} 57 - 58 -Vérifier la syntaxe avant de lancer un script, surtout après modification : 59 - 60 -{{code language="bash"}} 61 -bash -n monscript.sh 62 -{{/code}} 63 - 64 -{{warning}} 65 -Dans une commande écrite sur plusieurs lignes, la barre oblique inverse de fin de ligne ne doit être suivie de rien, pas même d'un espace : sinon la ligne n'est plus continuée, et le script se comporte autrement sans erreur visible. Contrôle : ##cat -A monscript.sh##, la fin de ligne doit afficher ##\$##. 66 -{{/warning}} 67 - 68 68 ---- 69 69 70 70 == Liste des scripts disponibles == 71 71 72 -=== 🔹 [[Sauvegarde automatique>> doc:.Sauvegarde.WebHome]] ===56 +=== 🔹 [[Sauvegarde automatique>>Wiki Batcave John.TutosLinux.ScriptsPerso.ScriptsPerso/Sauvegarde.WebHome]] === 73 73 74 -Un script ##rsync##avec journalisation et gestion via##cron##.75 -📌 //Idéal pour sauvegarder ses documents sans effort.//58 +Un script `rsync` avec journalisation et gestion via `cron`. 59 +📌 *Idéal pour sauvegarder ses documents sans effort.* 76 76 77 -=== 🔹 [[Nettoyage de système>> doc:.Nettoyage.WebHome]] ===61 +=== 🔹 [[Nettoyage de système>>Wiki Batcave John.TutosLinux.ScriptsPerso.ScriptsPerso/Nettoyage.WebHome]] === 78 78 79 -Un script qui supprime caches, fichiers temporaires, et dépendances orphelines. 80 -📌 //Parfait pour garder une machine légère et propre.//63 +Un script qui supprime caches, fichiers temporaires, et dépendances orphelines. 64 +📌 *Parfait pour garder une machine légère et propre.* 81 81 82 -=== 🔹 [[Intégration Nautilus + Zenity>> doc:.NautilusZenity.WebHome]] ===66 +=== 🔹 [[Intégration Nautilus + Zenity>>Wiki Batcave John.TutosLinux.ScriptsPerso.ScriptsPerso/NautilusZenity.WebHome]] === 83 83 84 -Ajoute des actions personnalisées au clic droit dans GNOME, via des boîtes de dialogue interactives. 85 -📌 //Super pour les utilisateurs moins à l’aise avec la ligne de commande.//68 +Ajoute des actions personnalisées au clic droit dans GNOME, via des boîtes de dialogue interactives. 69 +📌 *Super pour les utilisateurs moins à l’aise avec la ligne de commande.* 86 86 87 -=== 🔹 [[Organisation automatique de fichiers>> doc:.Classement.WebHome]]//(à venir)//===71 +=== 🔹 [[Organisation automatique de fichiers>>Wiki Batcave John.TutosLinux.ScriptsPerso.ScriptsPerso/Classement.WebHome]] *(à venir)* === 88 88 89 89 Trie automatiquement les fichiers dans des dossiers selon leur type, date ou nom. 90 90 ... ... @@ -92,27 +92,24 @@ 92 92 93 93 == Où placer mes scripts ? == 94 94 95 -* Personnel : ##~~/.local/bin/##96 -* Système : ##/usr/local/bin/##(nécessite##sudo##)79 +* Personnel : `/bin/` ou `/.local/bin/` 80 +* Système : `/usr/local/bin/` (nécessite `sudo`) 97 97 98 - Ajouter le dossierpersonnelau ##$PATH##,dans ##~~/.bashrc##:82 +N’oublie pas d’ajouter le dossier à ton `$PATH` : 99 99 100 100 {{code language="bash"}} 101 -export PATH= "$HOME/.local/bin:$PATH"85 +export PATH=$HOME/bin:$PATH 102 102 {{/code}} 103 103 104 -Et rendre les fichiers exécutables : 88 +Et de rendre les fichiers exécutables : 89 +{{code language="bash"}}chmod +x monscript.sh{{/code}} 105 105 106 -{{code language="bash"}} 107 -chmod +x monscript.sh 108 -{{/code}} 109 - 110 110 ---- 111 111 112 112 == Bonnes idées de scripts futurs == 113 113 114 114 * Archivage automatique d’un dossier par date 115 -* Extraction automatique de ##.tar.gz##96 +* Extraction automatique de `.tar.gz` 116 116 * Notification de batterie faible 117 117 * Upload automatique vers Nextcloud 118 118 * Backup de base de données PostgreSQL/MariaDB ... ... @@ -122,9 +122,9 @@ 122 122 123 123 == Liens utiles == 124 124 125 -* [[explainshell.com>>https://explainshell.com/]] — comprendre une commande Bash ligne par ligne126 -* [[Bash Hackers Wiki>>https://wiki.bash-hackers.org/]]127 -* [[ShellCheck>>https://www.shellcheck.net]]— vérifier ses scripts en ligne106 +* Explainshell.com [[https:~~/~~/explainshell.com/>>https://explainshell.com/]]— Pour comprendre une commande Bash ligne par ligne 107 +* Bash Hackers Wiki [[https:~~/~~/wiki.bash-hackers.org/>>https://wiki.bash-hackers.org/]] 108 +* Shellcheck https~://www.shellcheck.net) — Pour vérifier ses scripts en ligne// 128 128 129 129 ---- 130 130 ... ... @@ -131,10 +131,4 @@ 131 131 == Liens internes == 132 132 133 133 * [[Retour à l’accueil>>doc:Wiki Batcave John.WebHome]] 134 -* [[Tutos Linux>>doc:Wiki Batcave John.TutosLinux.WebHome]] 135 - 136 ----- 137 - 138 -== Toutes les pages == 139 - 140 -{{children/}} 115 +* [[Tutos Linux>>Wiki Batcave John.TutosLinux]]