Examen pratique 3 - Solutions

Problème 1

#!/bin/bash

if [[ "$#" -ne 1 ]]; then
    echo "Un seul argument attendu"
    exit 2
fi

salut() {
    local nom="$1"
    echo "Bonjour $nom!"
}

salut "$1"

Problème 2

#!/bin/bash

compteur=0

for n in "$@"; do
    if (( n < 0 )); then
        (( compteur++ ))
    fi
done

echo "$compteur"

Problème 3

#!/bin/bash

fichier_chemins="chemins.txt"

while read -r chemin; do
    if [[ ! -e "$chemin" ]]; then
        echo "$chemin n'existe pas"
    elif [[ -f "$chemin" ]]; then
        echo "$chemin est un fichier"
    elif [[ -d "$chemin" ]]; then
        echo "$chemin est un dossier"
    fi
done < "$fichier_chemins"