diff options
| author | jerome <jerome@xlinfo.fr> | 2024-04-14 17:04:20 +0200 |
|---|---|---|
| committer | jerome <jerome@xlinfo.fr> | 2024-04-14 17:04:20 +0200 |
| commit | 50b0c03236f63fb25f40c47d204eeacbaf9b5d69 (patch) | |
| tree | 9618a8ba231a221325b645415dfbe098c697dad8 /exemple05 | |
| parent | fbe94e6342d80fe9a79b1391b1ce2d3e547e7dbd (diff) | |
| download | bash_tutorial-50b0c03236f63fb25f40c47d204eeacbaf9b5d69.tar.gz bash_tutorial-50b0c03236f63fb25f40c47d204eeacbaf9b5d69.zip | |
numerotation des fichiers
Diffstat (limited to 'exemple05')
| -rwxr-xr-x | exemple05 | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/exemple05 b/exemple05 new file mode 100755 index 0000000..72ef4f8 --- /dev/null +++ b/exemple05 @@ -0,0 +1,79 @@ +#!/usr/bin/bash +set -x +# Comparaison if,elif,else,fi avec la primitive test +# help if +read -p "Entrez un nombre positif ou négatif : " nb + +if test "$nb" -lt 0; then + echo "$nb est négatif" +elif test "$nb" -eq 0; then + echo "$nb est nul" +else + echo "$nb est positif" +fi + +# Idem avec [ ] syntaxe alternative à test +# help [ +if [ "$nb" -lt 0 ]; then + echo "$nb est négatif" +elif [ "$nb" -eq 0 ]; then + echo "$nb est nul" +else + echo "$nb est positif" +fi + +# Avec and (-a) et or (-o) +# Pour les besoins de l'exemple : on aurait pu bien sûr utiliser la syntaxe "-le" +if [ "$nb" -lt 0 -o "$nb" -eq 0 ]; then + echo "$nb est inférieur ou égal à zéro" +else + echo "$nb est positif" +fi + +# palindrome +# man rev +# man tr +read -p "Choisis un palindrome : " rep +pal=$(echo $rep|tr [A-Z] [a-z]) +if [ $(echo $pal|rev) = $pal ]; then + echo "$rep est un palindrome" +else + echo "$rep n'est pas un palindrome" +fi + +# comparaison avec le code de sortie d'une commande linux +read -p "Entrez le nom d'un utilisateur : " utilisateur + +if who |grep -q $utilisateur ; then + echo "$utilisateur est connecté" +else + echo "$utilisateur n'est pas connecté" +fi + +# Alternative à plusieurs elif... +# help case +read -p "Quelle distribution préfères-tu entre Ubuntu, Fedora ou Manjaro ? " distro +case $distro in + Ubuntu) + echo "Tu es plutôt adepte de la famille Debian";; + Fedora) + echo "Tu es plutôt adepte de la famille RedHat";; + Manjaro) + echo "Tu es plutôt adepte de la famille ArchLinux";; + *) + echo "Connais pas !" +esac + +# Cette syntaxe accepte aussi un ou logique '|' et des motifs comme []... +case $distro in + [uU]buntu) + echo "Tu es plutôt adepte de la famille Debian";; + [fF][eE][dD][oO][rR][aA]) + echo "Tu es plutôt adepte de la famille RedHat";; + Manjaro|manjaro) + echo "Tu es plutôt adepte de la famille ArchLinux";; + *) + echo "Connais pas !" +esac + + |
