Hvordan bruke EXPR utfører Algebra i Unix

Hvordan bruke EXPR utfører Algebra i Unix


EXPR er et Unix-verktøy som kan brukes til å evaluere algebraiske uttrykk. Bruk EXPR på kommandolinjen, eller mer kraftfullt ved å innlemme EXPR inn skall-skript. Vær forsiktig med å bruke bare heltallsargumenter til algebraiske uttrykk. EXPR gir feilmelding når presentert med ikke-heltallsargumenter.

Bruksanvisning

1 Skriv "X = 11" (uten anførselstegn) og klikk på "enter" ved ledeteksten, og "Y = 12," klikk "enter" på neste ledeteksten. Dette etablerer to variabler, X og Y, og deres verdier, 11 og 12. Skriv "echo $ X" og "echo $ Y" for å bekrefte verdien av variablene.

2 Skriv "expr $ X + $ Y" ved ledeteksten. EXPR vil vurdere dette uttrykket og returnere verdien av X + Y eller 23.

3 Prøv subtraksjon, multiplikasjon og divisjon ved å skrive expr "$ X - $ Y". "Expr $ X * $ Y" og "expr $ X / $ Y" (Symbolet for multiplikasjon i EXPR må skrives inn "*" for å unngå den spesielle betydningen av "*" i skallet som en joker for alle tegn hvilket som helst antall ganger.) Svarene er hva man ville forvente, bortsett fra når det gjelder divisjon, der EXPR gir svaret som 0. Siden EXPR fungerer bare med heltall, runder det desimaltegnet svaret ned til nærmeste heltall.

4 Utføre en rekke beregninger ved å skrive inn variablene som en matrise, deretter bruke EXPR å iterere over verdiene. Til square alle heltall fra en til ti, ville du skriver «kvadrat = (1 2 3 4 5 6 7 8 9 10), for kvm i $ {sq [@]}; gjøre expr $ kvm * ​​$ kvm;. Gjort" Det er fire kommandoer her, atskilt med semikolon. For, skaper de en rekke kalt kvm som inneholder heltall ett gjennom 10; ringe hver verdi av kvadrat separat; kvadrat hver verdi av kvadrat gang kalt; og avslutte programmet.

5 Bruk et shell script for å passere noen argumenter som du ønsker å expr. For å evaluere den kvadratiske uttrykket 2x ^ 2 - 5x + 3 for alle heltall, skriver følgende shell script i en teksteditor, lagre det som expr_test, og gjøre det kjørbar ved å skrive "chmod 755 expr_test" ved ledeteksten.


! / Bin / sh

for Var i "$ @"

gjøre expr 2 * $ var * $ var - 5 * $ var + 3

ferdig



Nå kan du passere heltall som skal vurderes ved ledeteksten. Typing "./expr_test 1 3 5 11" årsaker EXPR å evaluere den kvadratiske uttrykk for en, tre, fem og 11. Merk at EXPR følger riktig rekkefølge av operasjoner i vurderingen av kvadratiske uttrykk.

Hint

  • Bruk skript i denne how-to som modeller for å iterere over alle algebraiske uttrykk som du kan lage med expr.
  • ************************************************** ****************************
  • Det er andre verktøy for å vurdere algebraiske uttrykk på kommandolinjen og gjennom skallskript i unix, inkludert verktøy bc og dc. Disse verktøyene er noen ganger kraftigere enn EXPR; for eksempel, er de i stand til å håndtere ikke-heltallsverdier.