Discuție Utilizator:Xsimio: Diferență între versiuni

De la Wiki.lug.ro
Salt la: navigare, căutare
(observatii asupra unor incorectitudini)
(Operatii aritmetice)
Linia 1: Linia 1:
===Operatii aritmetice===
 
 
Pentru efectuarea operatiilor aritmetice este folosira comanda <b>expr</b>:
 
 
<i>Sintaxa:</i>
 
 
expr argument1 operator_matematic argument2
 
 
Operatorul matematic poate fi:
 
 
<b>+</b> adunarea
 
 
<b>-</b> scaderea
 
 
<b>/</b> impartirea
 
 
<b>%</b> restul impartirii
 
 
<b>\*</b> inmultirea
 
 
Exista si alti operatori matematici insa acestia vor fi discutati mai tarziu pe parcursul acestui tutorial.
 
 
Observatii:
 
 
* inmultirea se face folosind <b>\*</b> si nu <b>*</b>
 
 
* executia comenzii <b>expr</b> se face folod\sind ghilimele inclinate, si nu ghilimele simple si nici duble; urmatoarele exemple sper sa va lamureasca in legatura cu folosirea ghilimelelor pentru executia comenzilor:
 
 
#echo "expr 4 + 5"
 
#echo 'expr 4 + 5'
 
#echo `expr 4 + 5`
 
 
Trebuie mentionat ca intotdeauna folosirea ghilimelelor inclinate are ca efect executia comenzii shell care se afla intre acestea si folosirea in script a rezultatului obtinut prin executarea comenzii respective. Acest lucru este universal valabil in programarea shell, nu numai in cazul comenzii <b>expr</b>.
 
 
  
  

Versiunea de la data 28 februarie 2006 12:27


Observatii

  • inmultirea se face folosind * , nu \* , backslashul e necesar uneori pt. a feri asteriskul de shell (vezi mai jos)
  • backtickurile n-au nici o treaba cu expr
  • expr e foarte greoi comparativ cu arithmetic evaluation din bash

exemple

$ expr 2 + 3  # fara ` sau echo
5
$ set -f ; expr 2 * 3  # shell fara pathname expansion, no \* required, no backticks either
6
$ echo $[((2*2)**2+2*2+2/2)<<2/2] # eat that, expr!
42

see?  :) Petre 20 Feb 2006 04:34 (EET)