# Aide pour mon script avec algorigramme

**URL:** <https://www.debian-fr.org/t/aide-pour-mon-script-avec-algorigramme/66056>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 9:42 UTC](https://www.debian-fr.org/t/aide-pour-mon-script-avec-algorigramme/66056 "2016-02-21T21:42:09Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gnugnu](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/a8b319/32.png) [@Gnugnu](https://www.debian-fr.org/u/Gnugnu)\
**Post date:** [Février 21, 2016, 9:42 UTC](https://www.debian-fr.org/t/aide-pour-mon-script-avec-algorigramme/66056/1 "2016-02-21T21:42:09Z")

</div>

Bonjour,  
Je commence à apprendre le bash, et je voudrais créer un petit script pour automatiser une tâche.  
Je cherche une personne qui serait capable de me créer un modèle pour mon script.  
le but n’étant pas de refiler la tâche à quelqu’un pour pas me fatiguer, je ne demande pas que vous écriviez complètement mon script, juste me guider avec des commentaires pour chaque étape afin que je comprenne bien comment tout cela fonctionne.

J’ai créé l’algotigrame de mon futur script, je ne sais pas s’il est très clair (c’est mon 1er)  
le but de mon script est de chercher une mise à jour sur clamav, puis s’il est à jour, lancer le scan.  
de plus, je veux lancer mon script depuis un alias.

Merci d’avance pour vos conseils.

Algorigramme : [http://image.noelshack.com/fichiers/2015/23/1433249056-clam.png](http://image.noelshack.com/fichiers/2015/23/1433249056-clam.png)

---

<div class="post-metadata">

**Author:** ![anon96191775](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/71c47a/32.png) [@anon96191775](https://www.debian-fr.org/u/anon96191775)\
**Post date:** [Février 21, 2016, 9:42 UTC](https://www.debian-fr.org/t/aide-pour-mon-script-avec-algorigramme/66056/2 "2016-02-21T21:42:11Z")

</div>

Re-salut 😉

Quand tu poses une même question sur plusieurs forums, c’est une bonne idée de donner en lien les différentes discussions que tu as ouvertes. Ça évite de se répéter entre les forums, et ça permet à ceux qui viennent t’aider de savoir ce qui t’a déjà été proposé.

---

<div class="post-metadata">

**Author:** ![Gnugnu](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/a8b319/32.png) [@Gnugnu](https://www.debian-fr.org/u/Gnugnu)\
**Post date:** [Février 21, 2016, 9:42 UTC](https://www.debian-fr.org/t/aide-pour-mon-script-avec-algorigramme/66056/3 "2016-02-21T21:42:11Z")

</div>

Ok, j’imaginais une rivalité entre forums 😉

---

<div class="post-metadata">

**Author:** ![Eho](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/eb8c5e/32.png) [@Eho](https://www.debian-fr.org/u/Eho)\
**Post date:** [Février 21, 2016, 9:42 UTC](https://www.debian-fr.org/t/aide-pour-mon-script-avec-algorigramme/66056/4 "2016-02-21T21:42:12Z")

</div>

Pour ceux qui n’ont pas compris le principe même d’Internet…  
Ce n’est pas le cas ici 😉

Voici un début de script pour commencer :

[code]#!/bin/bash

# freshclam

freshclam\_done=“0”

while [“$freshclam\_done” -eq “0”]  
do

```
freshclam

if ["$?" -eq "0"]
then

	freshclam_done="1"

else

	echo "Tuer le processus qui bloque freshclam"
	
	# TODO

fi

sleep 1

```

done

# Scan

echo “Scan”

# TODO

[/code]

La syntaxe de Bash est un peu “stricte”. L’absence ou la présence d’espace est importante notamment lors de l’affectation [mono]freshclam\_done=“0”[/mono] ou dans la condition des structures de contrôle.

Maintenant que tu as un début de script, tu devrais pouvoir le continuer dès que tu l’auras bien compris.

(HS : À mon avis, faire directement du Python est plus simple)

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Février 21, 2016, 9:42 UTC](https://www.debian-fr.org/t/aide-pour-mon-script-avec-algorigramme/66056/5 "2016-02-21T21:42:13Z")

</div>

Je n’ai pas trouvé de commande [mono]fresclam[/mono] =\> ce doit sans doute être une faute de frappe (manque un [mono]h[/mono]) comme j’en fais aussi 🙂

=======  
Plutôt que de lancer et tester le message d’erreur retourné par [mono]freshclam[/mono]

Pourquoi ne pas vérifier (avant de lancer l’exécution d’un nouveau [mono]freshclam[/mono]) :

```
  - L'existence de process freshclam

```

et/ou  
- La disponibilité (avec la commande [mono]lsof[/mono]) du fichier [mono]/var/log/clamav/freshclam.log[/mono]

=======  
Voir aussi :

```auto

```

---

<div class="post-metadata">

**Author:** ![Gnugnu](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/a8b319/32.png) [@Gnugnu](https://www.debian-fr.org/u/Gnugnu)\
**Post date:** [Février 21, 2016, 9:42 UTC](https://www.debian-fr.org/t/aide-pour-mon-script-avec-algorigramme/66056/6 "2016-02-21T21:42:41Z")

</div>

[quote=“MicP”]Je n’ai pas trouvé de commande [mono]fresclam[/mono] =\> ce doit sans doute être une faute de frappe (manque un [mono]h[/mono]) comme j’en fais aussi 🙂

=======  
Plutôt que de lancer et tester le message d’erreur retourné par [mono]freshclam[/mono]

Pourquoi ne pas vérifier (avant de lancer l’exécution d’un nouveau [mono]freshclam[/mono]) :

```
  - L'existence de process freshclam

```

et/ou  
- La disponibilité (avec la commande [mono]lsof[/mono]) du fichier [mono]/var/log/clamav/freshclam.log[/mono]

=======  
Voir aussi :

```auto

```

Oui en effet je pourrais très bien vérifier avant, mais c’était aussi un moyen d’apprendre le scripting.
