0 Votes

Modifications pour le document Scripts perso

Modifié par john le 2026/09/20 20:23

Depuis la version 3.1
modifié par john
sur 2025/05/25 00:16
Commentaire de modification : Il n'y a aucun commentaire pour cette version
À la version 7.1
modifié par john
sur 2026/09/20 20:23
Commentaire de modification : Il n'y a aucun commentaire pour cette version

Résumé

Détails

Propriétés de la Page
Titre
... ... @@ -1,1 +1,1 @@
1 -ScriptsPerso
1 +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— Pour comprendre une commande Bash ligne par ligne//
107 -* Bash Hackers Wiki https~://wiki.bash-hackers.org/)//
108 -* Shellcheck https~://www.shellcheck.net) — Pour vé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/}}