Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 23-04-2016 11:30:23

Gnux
Membre
Distrib. : Debian 8.5
Noyau : 4.6.0-0.bpo.1-amd64
(G)UI : Xfce
Inscription : 20-05-2015
Site Web

[Résolu] Insertion d'une option dans une commande (bash)

Bonjour, je suis en train de crée un script de "maintenance et sécurité".

Pour le moment j'ai fais un menu, avec un sous menu "Antivirus"

Pour le choix 1 : Scan du Home
Pour le choix 2 : Scan de la racine
Pour le choix 3, Je voudrais avoir une saisie de texte qui permet de renter le chemin d'un répertoire à scanner, exemple :

Quel répertoire scanner ? : /Mon/répertoire/a/scanner
Scan du répertoire en cours ...


En gros dans le code il se passe ça :
clamscan -r -i /Mon/répertoire/a/scanner --move=/home/florian/.Scan_Clamav

Comment faire en sorte que le répertoire s’insert à l’intérieur du code de clamscan ?

Ci -dessous le 1er sous-menu du menu principale "Antivirus".

echo "Scan antivirus" | hl -3g "Scan antivirus"
    echo
    echo "1)  Scan du home"
    echo "2)  Scan racine"
    echo "3)  Scan répertoire"
                echo "q)    Quitter"
    echo "Choix : " | hl -3g "Choix : "
    echo
    read choix_menu_1
    case $choix_menu_1 in
    1)  freshclam &>/dev/null & sleep 1 && echo "Base mise à jour" | hl -3g "Base mise à jour" && sleep 1 && echo "Scan du home en cours ..." | hl -3g "Scan du home en cours ..." && sleep 1 && clamscan -r -i /home/florian --move=/home/florian/.Scan_Clamav | hl -3g "SCAN SUMMARY " ;;
    2)  freshclam &>/dev/null & sleep 1 && echo "Base mise à jour" | hl -3g "Base mise à jour" && sleep 1 && echo "Scan racine en cours ..." | hl -3g "Scan racine en cours ..." && sleep 1 && clamscan -r -i / --move=/home/florian/.Scan_Clamav | hl -3g "SCAN SUMMARY " ;;
    3)  echo "test Menu2 choix 3" ;;
    q) exit;;
    *) echo "Choix incorrect";;
    esac;;

Dernière modification par Gnux (24-04-2016 12:07:24)


J J G ♥

Hors ligne

#2 24-04-2016 10:14:16

sinozis
Membre
Lieu : Moselle
Distrib. : Debian stable
Inscription : 12-03-2016

Re : [Résolu] Insertion d'une option dans une commande (bash)

je voulais faire un grosse réponse mais je vais envoyer un lien qui resume tout (quotes simples, doubles,back quotes, saisie clavier ...) :
https://openclassrooms.com/courses/repr … -variables

openclassrooms.com a écrit :

read : demander une saisie

Vous pouvez demander à l'utilisateur de saisir du texte avec la commande read. Ce texte sera immédiatement stocké dans une variable.

La commande read propose plusieurs options intéressantes. La façon la plus simple de l'utiliser est d'indiquer le nom de la variable dans laquelle le message saisi sera stocké :

read nomvariable



Adaptons notre script pour qu'il nous demande notre nom puis qu’il nous l'affiche :

#!/bin/bash

read nom
echo "Bonjour $nom !"



Lorsque vous lancez ce script, rien ne s'affiche, mais vous pouvez taper du texte (votre nom, par exemple) :


Mathieu
Bonjour Mathieu !



Notez que la première ligne correspond au texte que j'ai tapé au clavier.

Dernière modification par sinozis (03-05-2016 07:58:45)


Je résiste à tout sauf à la tentation.......

Hors ligne

#3 24-04-2016 12:06:36

Gnux
Membre
Distrib. : Debian 8.5
Noyau : 4.6.0-0.bpo.1-amd64
(G)UI : Xfce
Inscription : 20-05-2015
Site Web

Re : [Résolu] Insertion d'une option dans une commande (bash)

@sinozis

Merci beaucoup, c'est exactement ce que je voulais, je l'ai adapté à mon script et ça marche parfaitement wink

J J G ♥

Hors ligne

Pied de page des forums