Discuție Utilizator:Xsimio

De la Wiki.lug.ro
Versiunea din 20 februarie 2006 05:34, autor: Petre (Discuție | contribuții) (observatii asupra unor incorectitudini)

Salt la: navigare, căutare

Operatii aritmetice

Pentru efectuarea operatiilor aritmetice este folosira comanda expr:

Sintaxa:

expr argument1 operator_matematic argument2

Operatorul matematic poate fi:

+ adunarea

- scaderea

/ impartirea

% restul impartirii

\* inmultirea

Exista si alti operatori matematici insa acestia vor fi discutati mai tarziu pe parcursul acestui tutorial.

Observatii:

  • inmultirea se face folosind \* si nu *
  • executia comenzii expr 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 expr.


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)