Modifications pour le document Scripts perso
Modifié par john le 2026/09/20 20:23
Résumé
-
Propriétés de la Page (2 modifications, 0 ajouts, 0 suppressions)
Détails
- Propriétés de la Page
-
- Titre
-
... ... @@ -1,1 +1,1 @@ 1 -Scripts Perso1 +Scripts perso - Contenu
-
... ... @@ -1,10 +3,8 @@ 1 -= Scripts personnels = 2 - 3 3 {{toc/}} 4 4 5 5 == Présentation == 6 6 7 -Cette section regroupe mes **scripts Bash et outils d’automatisation** développés ou adaptés pour mes besoins personnels. 5 +Cette section regroupe mes **scripts Bash et outils d’automatisation** développés ou adaptés pour mes besoins personnels. 8 8 Ils couvrent des tâches variées : sauvegardes, nettoyage de fichiers, interactions graphiques avec Zenity, organisation de fichiers, etc. 9 9 10 10 ---- ... ... @@ -24,51 +24,69 @@ 24 24 25 25 == Bonnes pratiques à suivre == 26 26 27 -* Toujours commencer par le shebang : 28 -{{code language="bash"}} #!/bin/bash 29 - {{/code}} 25 +Toujours commencer par le shebang : 30 30 31 -* Mettre le script en mode strict : 32 -{{code language="bash"}} set -euo pipefail 33 - IFS=$'\n\t' 34 - {{/code}} 27 +{{code language="bash"}} 28 +#!/bin/bash 29 +{{/code}} 35 35 36 -* Documenter les fonctions : 37 -{{code language="bash"}} # Fonction : sauvegarde un répertoire 38 - function sauvegarde() { 39 - rsync -av "$1" "$2" 40 - } 41 - {{/code}} 31 +Mettre le script en mode strict : 42 42 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}} 33 +{{code language="bash"}} 34 +set -euo pipefail 35 +IFS=$'\n\t' 36 +{{/code}} 51 51 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 + 52 52 ---- 53 53 54 54 == Liste des scripts disponibles == 55 55 56 -=== 🔹 [[Sauvegarde automatique>> Wiki Batcave John.TutosLinux.ScriptsPerso.ScriptsPerso/Sauvegarde.WebHome]] ===72 +=== 🔹 [[Sauvegarde automatique>>doc:.Sauvegarde.WebHome]] === 57 57 58 -Un script `rsync`avec journalisation et gestion via`cron`.59 -📌 *Idéal pour sauvegarder ses documents sans effort.*74 +Un script ##rsync## avec journalisation et gestion via ##cron##. 75 +📌 //Idéal pour sauvegarder ses documents sans effort.// 60 60 61 -=== 🔹 [[Nettoyage de système>> Wiki Batcave John.TutosLinux.ScriptsPerso.ScriptsPerso/Nettoyage.WebHome]] ===77 +=== 🔹 [[Nettoyage de système>>doc:.Nettoyage.WebHome]] === 62 62 63 -Un script qui supprime caches, fichiers temporaires, et dépendances orphelines. 64 -📌 *Parfait pour garder une machine légère et propre.*79 +Un script qui supprime caches, fichiers temporaires, et dépendances orphelines. 80 +📌 //Parfait pour garder une machine légère et propre.// 65 65 66 -=== 🔹 [[Intégration Nautilus + Zenity>> Wiki Batcave John.TutosLinux.ScriptsPerso.ScriptsPerso/NautilusZenity.WebHome]] ===82 +=== 🔹 [[Intégration Nautilus + Zenity>>doc:.NautilusZenity.WebHome]] === 67 67 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.*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.// 70 70 71 -=== 🔹 [[Organisation automatique de fichiers>> Wiki Batcave John.TutosLinux.ScriptsPerso.ScriptsPerso/Classement.WebHome]]*(à venir)*===87 +=== 🔹 [[Organisation automatique de fichiers>>doc:.Classement.WebHome]] === 72 72 73 73 Trie automatiquement les fichiers dans des dossiers selon leur type, date ou nom. 74 74 ... ... @@ -76,24 +76,27 @@ 76 76 77 77 == Où placer mes scripts ? == 78 78 79 -* Personnel : `/bin/` ou `/.local/bin/`80 -* Système : `/usr/local/bin/`(nécessite`sudo`)95 +* Personnel : ##~~/.local/bin/## 96 +* Système : ##/usr/local/bin/## (nécessite ##sudo##) 81 81 82 - N’oublie pas d’ajouter le dossierà ton`$PATH`:98 +Ajouter le dossier personnel au ##$PATH##, dans ##~~/.bashrc## : 83 83 84 84 {{code language="bash"}} 85 -export PATH=$HOME/bin:$PATH 101 +export PATH="$HOME/.local/bin:$PATH" 86 86 {{/code}} 87 87 88 -Et de rendre les fichiers exécutables : 89 -{{code language="bash"}}chmod +x monscript.sh{{/code}} 104 +Et rendre les fichiers exécutables : 90 90 106 +{{code language="bash"}} 107 +chmod +x monscript.sh 108 +{{/code}} 109 + 91 91 ---- 92 92 93 93 == Bonnes idées de scripts futurs == 94 94 95 95 * Archivage automatique d’un dossier par date 96 -* Extraction automatique de `.tar.gz`115 +* Extraction automatique de ##.tar.gz## 97 97 * Notification de batterie faible 98 98 * Upload automatique vers Nextcloud 99 99 * Backup de base de données PostgreSQL/MariaDB ... ... @@ -103,9 +103,9 @@ 103 103 104 104 == Liens utiles == 105 105 106 -* Explainshell.com[[https:~~/~~/explainshell.com/>>https://explainshell.com/]]—Pourcomprendre une commande Bash ligne par ligne107 -* Bash Hackers Wiki [[https:~~/~~/wiki.bash-hackers.org/>>https://wiki.bash-hackers.org/]]108 -* Shell checkhttps~://www.shellcheck.net)—Pourvérifier ses scripts en ligne//125 +* [[explainshell.com>>https://explainshell.com/]] — comprendre une commande Bash ligne par ligne 126 +* [[Bash Hackers Wiki>>https://wiki.bash-hackers.org/]] 127 +* [[ShellCheck>>https://www.shellcheck.net]] — vérifier ses scripts en ligne 109 109 110 110 ---- 111 111 ... ... @@ -112,4 +112,10 @@ 112 112 == Liens internes == 113 113 114 114 * [[Retour à l’accueil>>doc:Wiki Batcave John.WebHome]] 115 -* [[Tutos Linux>>Wiki Batcave John.TutosLinux]] 134 +* [[Tutos Linux>>doc:Wiki Batcave John.TutosLinux.WebHome]] 135 + 136 +---- 137 + 138 +== Toutes les pages == 139 + 140 +{{children/}}