#!/bin/bash

# TP 5, exercice 1

# On demande le nom directement avec le paramètre -p de read :
read -p "Quel est votre nom ? " nom

# Idem pour le prénom :
read -p "Quel est votre prénom ? " prenom

# On affiche la phrase avec les variables en une seule fois avec echo :
echo "Bonjour $prenom ${nom}."

# Rappel : On peut lire une variable soit en la préfixant uniquement avec un $,
# soit en l'appelant avec ${} (cette seconde notation est recommandée)
#!/bin/bash

# TP 5, exercice 2

# On demande le login :
read -p "Saisissez un login : " login

# On informe l'utilisateur que si le login s'affiche, c'est qu'il existe...
echo "Si le login que vous avez saisi est à nouveau affiché, alors il existe dans le système :"

# Et on recherche le login concerné en utilisant le fichier passwd, cut et grep :
cut -d: -f1 /etc/passwd | grep -x ${login}

# Autre possibilité :
cut -d: -f1 /etc/passwd | grep ^${login}$

# Rappel : Ici, le second $ sert à délimiter la fin de la ligne,
# _tout comme le ^ indique le début de la ligne !
#!/bin/bash

# TP 5, exercice 3

# On demande à l'utilisateur de saisir un mot-clef :
read -p "Saisissez un mot-clef : " motclef

# On demande le nom de fichier pour les résultats :
read -p "Saisissez un nom de fichier pour enregistrer les résultats : " fichier

# On actualise la liste des paquets en redirigeant la sortie standard
# vers /dev/null pour ne rien afficher :
apt update > /dev/null 2>&1

# On recherche les paquets disponibles correspondant au mot-clef :
apt-cache search ${motclef} > ${fichier}

# On informe l'utilisateur que la recherche est terminée
echo "La recherche des paquets concernant le mot-clef \\"${motclef}\\" a bien été effectuée et enregistrée dans le fichier \\"${fichier}\\"."
#!/bin/bash

# TP 5, exercice 4

# On demande à l'utilisateur d'indiquer le répertoire source :
read -p "Saisissez le chemin du fichier ou du répertoire à copier : " source

# On demande le répertoire de destination :
read -p "Saisissez le chemin de destination : " destination

# On crée le répertoire destination avec mkdir et le paramètre -p
# pour créer tous les répertoires manquants si nécessaire
mkdir -p ${destination}

# On lance alors la copie des fichiers :
cp -r ${source} ${destination}

# On informe l'utilisateur que la recherche est terminée
echo "La copie est terminée."
#!/bin/bash

# TP 5, exercice 5

# On demande à l'utilisateur de saisir un login :
read -p "Saisissez un login : " login

# On demande le nom complet de l'utilisateur :
read -p "Saisissez le nom complet de l'utilisateur : " nom

# On demande le mot de passe de l'utilisateur sans l'afficher grâce à -s :
read -p "Saisissez le mot de passe de l'utilisateur : " -s pass

# On crée le compte utilisateur en utilisant useradd
# On crypte le mot de passe avec mkpasswd (cf. diapos 194/195)
# et on récupère la valeur grâce à $()
# On utilise le paramètre -C pour enregistrer le nom complet (cf. man)
useradd -c "${nom}" -p $(mkpasswd ${pass}) ${login}