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

De la Wiki.lug.ro
Salt la: navigare, căutare
(Operatii aritmetice)
(observatii asupra unor incorectitudini)
Linia 32: Linia 32:
  
 
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>.
 
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>.
 +
 +
 +
 +
==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?  :)
 +
[[Utilizator:Petre|Petre]] 20 Feb 2006 04:34 (EET)

Versiunea de la data 20 februarie 2006 05:34

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)