Atilẹsẹ ni Bash

Bi o ṣe le Fi awọn iṣiro si Ikọwe Bash

Biotilẹjẹpe Bash jẹ ede ti a kọkọ silẹ, o ni ẹwà pupọ gbogbo agbara awọn eto siseto idi pataki kan. Eyi pẹlu awọn iṣẹ iṣiro. Awọn nọmba aṣayan awọn ami-iṣiro kan wa ti o le lo lati ṣawari igbeyewo iṣiro ti ikosile kan. Boya julọ ti a le ṣatunṣe ọkan jẹ aṣẹ aṣẹ. Fun apere

jẹ ki "m = 4 * 1024"

yoo ṣe iyewe 4 igba 1024 ki o si fi abajade si iyipada "m".

O le tẹ sita jade nipa fifi ọrọ igbasilẹ kan han:

jẹ ki "m = 4 * 1024" yipo $ m

O le idanwo eyi lati laini aṣẹ nipasẹ titẹ koodu wọnyi:

jẹ ki "m = 4 * 1024"; echo $ m

O tun le ṣẹda faili ti o ni awọn ofin Bash, ninu eyiti o yẹ ki o fi ila kan kun ni oke ti faili naa ti o ṣalaye eto ti o yẹ lati ṣe koodu naa. Fun apere:

#! / bin / bash jẹ ki "m = 4 * 1024" iwoyi $ m

ti o ro pe o wa ni ifiṣowo Bash wa ni / oniyika / bash . O tun nilo lati ṣeto awọn igbanilaaye ti faili faili rẹ ki o jẹ alaṣẹ. Fii pe orukọ faili akosile jẹ script1.sh , o le ṣeto awọn igbanilaaye lati ṣe ki faili naa ṣiṣẹ pẹlu aṣẹ:

chmod 777 script1.sh

Lẹhin eyi o le ṣiṣẹ pẹlu aṣẹ naa:

./script1.sh

Awọn iṣiro iye ti o wa ni iru awọn ti o wa ni awọn eto eto siseto bi Java ati C. Yatọ si isodipupo, bi a ti ṣe apejuwe loke, o lo afikun:

jẹ ki "m = a + 7"

tabi iyokuro:

jẹ ki "m = a - 7"

tabi pipin:

jẹ ki "m = a / 2"

tabi modulo (iyokù lẹhin abala nọmba kan):

jẹ ki "m = a% 100"

Nigba ti a ba lo isẹ kan si iyipada kanna ti a ti yàn ipinnu naa o le lo awọn iṣiro ti o ṣe deede awọn iṣẹ oniṣẹ iṣẹ, ti a tun tọka si awọn oniṣẹ iṣẹ onisọpọ. Fun apere, fun afikun, a ni:

jẹ ki "m + = 15"

eyi ti o jẹ deede si "m = m + 15". Fun iyokuro a ni:

jẹ ki "m - = 3"

eyi ti o jẹ deede si "m = m - 3". Fun pipin a ni:

jẹ ki "m / = 5"

eyi ti o jẹ deede si "m = m / 5". Ati fun modulo, a ni:

jẹ ki "m% = 10"

eyi ti o jẹ deede si "m = m% 10".

Pẹlupẹlu, o le lo awọn ti n ṣe afikun ati awọn aṣoju decrement :

jẹ ki "m ++"

jẹ deede si "m = m + 1". Ati

jẹ ki "m--"

jẹ deede si "m = m - 1".

Ati lẹhin naa o wa oniṣẹ-ami-ami "oniṣẹ ami", eyi ti o pada ọkan ninu awọn iye meji ti o da lori boya ipo ti a sọ tẹlẹ jẹ otitọ tabi eke. Fun apere

jẹ ki "k = (m <9)?" 0: 1 "

Ọtun ọwọ ọtún ti gbólóhùn iṣẹ yii n ṣe ayẹwo si "0" ti o ba jẹ pe "iyọ" ti dinku ju 9. Tabi bẹ, o ṣe ayẹwo si 1. Eyi tumọ si iyatọ "k" ti yan "0" ti "m" ba kere ju 9 ati "1" bibẹkọ.

Fọọmu gbogbogbo ti oniṣẹ ami-iṣowo ibeere jẹ:

ipo? iye-ti-otitọ: iye-ti-ba-eke

Iṣiro Oju-omi Iyanju ni Bash

Jẹ ki onigbọwọ nikan ṣiṣẹ fun iṣiro apapọ. Fun iṣiro oju-omi ti o le ṣokunkun o le lo fun apẹẹrẹ awọn iṣiro GKU bc gẹgẹ bi a ti ṣe apejuwe ninu apẹẹrẹ yii:

echo "32.0 + 1.4" | bc

Olupese "pipe" "|" n gba ikosile isiro "32.0 + 1.4" si isiro isiro, eyi ti o pada nọmba gidi. Atilẹyin aṣẹ tẹ jade si abajade oṣiṣẹ.

Atọwe Alternative fun Arithmetic

Backticks (awọn atunṣe ayanfẹ) le ṣee lo lati ṣe akojopo ọrọ ikosile bi ninu apẹẹrẹ yi:

ibanisọrọ ipari $ m + 18`

Eyi yoo fi 18 kun iye ti iyipada "m" lẹhinna tẹjade esi naa.

Lati fi iye owo iṣiro si ayípadà kan o le lo ami ti o fẹgba laisi awọn alafo ni ayika rẹ:

m = `expr $ m + 18`

Ọnà miiran lati ṣe akojopo awọn gbolohun ọrọ ni lati lo awọn iyọọda meji. Fun apere:

((m * = 4))

Eyi yoo di opin iye ti ayípadà "m".

Yato si imọran iṣiro, ikarahun Bash npese awọn eto itumọ miiran, gẹgẹbi awọn lo -losiwaju , lakoko-losiwaju , awọn ipo , ati awọn iṣẹ ati awọn oni-ilẹ .