summaryrefslogtreecommitdiff
path: root/exemple5
diff options
context:
space:
mode:
authorjerome <jerome@xlinfo.fr>2024-03-07 17:06:12 +0100
committerjerome <jerome@xlinfo.fr>2024-03-07 17:06:12 +0100
commitf472fe2ffb102bca3aa9d191fb728e563148f8ba (patch)
tree4a695f556e8ccc684010607dd40e7cfe0185bfe0 /exemple5
downloadbash_tutorial-f472fe2ffb102bca3aa9d191fb728e563148f8ba.tar.gz
bash_tutorial-f472fe2ffb102bca3aa9d191fb728e563148f8ba.zip
commit initial
Diffstat (limited to 'exemple5')
-rwxr-xr-xexemple576
1 files changed, 76 insertions, 0 deletions
diff --git a/exemple5 b/exemple5
new file mode 100755
index 0000000..157d9c6
--- /dev/null
+++ b/exemple5
@@ -0,0 +1,76 @@
+#!/usr/bin/bash
+
+# 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
+read -p "Choisis un palindrome : " pal
+if [ $(echo $pal|rev) = $pal ]; then
+ echo "$pal est un palindrome"
+else
+ echo "$pal 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
+
+