- Accueil
- Info légales
- Aide (FAQ)
- Les tags de ce site
- Bloc note
- Articles techniques
- Notes system
- Divers articles
- Drupal
- Notes ITIL 2007
- Notes MS
- Dans le quartier...
- Emploi
- Recettes de cuisine et adresses gourmandes
- mes applis ubuntu préferées
- Divers acronymes du monde social
- Internet 2018
- P2 meublé à louer - quartier du Poteau 75018
- apcos - réseaux sociaux et outils
- Articles techniques
- Divers liens
- Fun
- Mon CV IT
- Nouveautés
gestion du clavier et calculer
read: assigner à une variable ce que le user a saisi au clavier
#!/bin/bash echo -n "Saisir du texte > " read text echo "Tu as écrit: $text"
Ligne 3 on affiche un prompt > car echo -n garde sur la meme ligne. L'argument de read est text (attend saisie suivie de ENTER) mais sans arg il prend alors la var d'environnement REPLY.
Options de read les plus utiles sont -t et -s -s n'affiche pas ce qu'on saisit (cas pw) et "-t nb seconde" définit un timeout au read.
Ex de -t:
#!/bin/bash echo -n "Allez, vite... tappe un truc au clavier ! > " if read -t 3 response; then echo "Bravo tu l'as fait à temps ) " else echo "T'es vraiment trooop lent !" fi
Calculer
les doubles (( ))
echo $((2+2))
echo $(( 2 + 2 )) est absolument identique (peu importe les espaces)
autre ex
#!/bin/bash first_num=0 second_num=0 echo -n "Enter the first number --> " read first_num echo -n "Enter the second number -> " read second_num echo "first number + second number = $((first_num + second_num))" echo "first number - second number = $((first_num - second_num))" echo "first number * second number = $((first_num * second_num))" echo "first number / second number = $((first_num / second_num))" echo "first number % second number = $((first_num % second_num))" echo "first number raised to the" echo "power of the second number = $((first_num ** second_num))" |
notes
"first_num + second_num"
/ diviser des nb entiers est invalide... et donne une erreur
% est le modulo ou le reste
est très utile s'il retourne 0 car signifie alors que nb1 est un multiple de nb2... voir par ex le script suivant |
"est un multiple de" ou de l'utilisation du modulo %
#!/bin/bash number=0 echo -n "Enter a number > " read number echo "Number is $number" if [ $((number % 2)) -eq 0 ]; then echo "Number is even" else echo "Number is odd" fi
formater un "nb de secondes" en heure et minutes
#!/bin/bash seconds=0 echo -n "Entrer un nombre (de secondes) > " read seconds hours=$((seconds / 3600)) seconds=$((seconds % 3600)) minutes=$((seconds / 60)) seconds=$((seconds % 60)) echo "Ca fait $hours hour(s) $minutes minute(s) $seconds second(s)"
Source complète en anglais à http://linuxcommand.org/lc3_wss0100.php