Баш-жылы Arithmetic

Бир Баш скриптибизге эсептөөлөр кошуу керек

Баш скрипт тили болсо да, бул жалпы максаты программалоо тили бардык мүмкүнчүлүктөрүн абдан көп бар. Бул эсеп-милдеттерди камтыйт. Бир катар бар синтаксисин Сиз сөз санариптик баа шооласын колдонууга болгон тандоолордун. Балким, калемгерлердин бири команда болуп саналат. Мисалы

болсун ", м = * 1024 4"

4-жолу 1024 күз жана өзгөрмө "м", жыйынтыкты дайындайт.

Сиз опреаторун кошуп натыйжасында басып чыгарууга болот:

болсун ", м = 4 * 1024" Эхо $ м

Төмөнкү кодду киргизүү менен буйрук сабында бул сыноо болот:

"м = 4 * 1024" болсун; Эхо $ м

Ошондой эле, сиз кодду аткарат деп эсептелген программаны аныктайт делосуна үстү жагында турган учурда бир сапты кошуу керек Баш буйруктарын камтыган билэни жарата аласыз. Мисалы:

#! / бин / Баш "м = 4 * 1024" жол кайталады $ м

Баш Аткарылуучу киришип / бин / баш жайгашкан. ал Аткаруучу экендигин, ошондуктан да жазуусу берилген уруксаттарды көрсөтүшү керек. Скрипт Имя script1.sh бар деп ойлошуп, сиз буйругу менен билэ Аткарылуучу үчүн уруксат орното аласыз:

CHMOD 777 script1.sh

Андан кийин сен буйругу менен аны аткара алат:

./script1.sh

Жогорудан көрүнүп тургандай жеткиликтүү эсеп чыгаруу, көбөйтүү тышкары Java жана С сыяктуу стандарттуу программалоо тилинде окшош, сен тышкары колдонулат:

болсун ", м = бир +: 7"

же кемитүү:

болсун ", м = а - 7"

же бөлүм:

"м а / 2 =" болсун

же модулду (бүтүн бөлгөндөн кийин калган):

"м а% = 100" болсун

бир операция натыйжа Сиз стандарттуу санариптик өтмө тапшырма операторлорду колдоно аласыз дайындалган эле өзгөрмөнүн колдонулган болсо, ошондой эле татаал тапшырма операторлорунун деп аталат. Мисалы, кошумча үчүн, биз:

"м + = 15" болсун

бул "м = м + 15" барабар. разряддуу Анткени биз:

болсун ", м - = 3"

ал ", - 3 м = м" барабар. бөлүү үчүн, биз:

болсун "м / = 5"

"М = м / 5" барабар болгон. Жана модулдук үчүн, биз:

"м% = 10" болсун

"М = м% 10" барабар болгон.

Андан тышкары, өсүш жана декремент операторлорду колдоно аласыз:

"м ++" болсун

"М = м + 1" барабар. жана

болсун "m--"

"- 1 м = м" барабар.

Андан кийин эки баалуулуктарынын бири көрсөтүлгөн шарттар чын же жалган экенин жараша кайра Үчилтик "суроо белгиси-чекит" оператору бар. Мисалы

жол "к = (м <9) 0: 1"

Бул тапшырма арыздын оң колу тарап "0" өзгөрүлмө "м" Болбосо аз 9. ашык болсо, анда ал 1. Бул "м" болсо, өзгөрмө, "к", "0" деген тапшырма берилген билдирет баалайт деп бааланса аз 9 Эгерде "1" ден.

суроо белгиси-жоон операторунун жалпы түрү болуп саналат:

абалы? Наркы-, эгерде чыныгы: балл болсо,-жалган

Floating Баш-жылы Пойнт Arithmetic

Анда оператордун гана бүтүн кошууну үчүн иштейт. пункту, математиканы Бул мисалдан көрүнүп тургандай эсептегич BC GNU мисалы колдоно аласыз калкып үчүн:

Эхо "32,0 + 1,4" | BC

"Чоор" оператор "|" чыныгы санын BC эсептегич үчүн санариптик сөз айкашы "32,0 + 1,4" өтөт. Эхо буйрук стандарттык өндүрүшүнүн натыйжа чыгара алат.

Arithmetic үчүн альтернатива синтаксиси

Backticks (Жалгыз тырмакчаны артка) мисалы катары эсептөө сөздөр баалоо үчүн пайдаланылышы мүмкүн:

кошулушат `Expr $ м + 18`

Бул өзгөрмө "м" наркынын 18 жана андан кийин жыйынтыгын чыгарат.

Сиз айланасында боштук эле барабар белгисин пайдалана алат өзгөрмөгө Эсептөө дайындоо үчүн:

м = `Expr $ м + 18`

санариптик сөздөрдү баа берүү үчүн дагы бир жолу эки кашаанын ичинде колдонууга болот. Мисалы:

((М = 4))

Бул өзгөрмө "м" баасын жарыясы болот.

Санариптик баа тышкары, Баш кабыгы сыяктуу башка программалоо түзүлүштөрүн, камсыз илмектерге үчүн , ал эми-илмек , шарттуу жана милдеттерин жана сабрутиндер .