summaryrefslogtreecommitdiff
path: root/exemple05
diff options
context:
space:
mode:
authorjerome <jerome@xlinfo.fr>2024-04-14 17:04:20 +0200
committerjerome <jerome@xlinfo.fr>2024-04-14 17:04:20 +0200
commit50b0c03236f63fb25f40c47d204eeacbaf9b5d69 (patch)
tree9618a8ba231a221325b645415dfbe098c697dad8 /exemple05
parentfbe94e6342d80fe9a79b1391b1ce2d3e547e7dbd (diff)
downloadbash_tutorial-50b0c03236f63fb25f40c47d204eeacbaf9b5d69.tar.gz
bash_tutorial-50b0c03236f63fb25f40c47d204eeacbaf9b5d69.zip
numerotation des fichiers
Diffstat (limited to 'exemple05')
-rwxr-xr-xexemple0579
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
+
+