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 $ mO le idanwo eyi lati laini aṣẹ nipasẹ titẹ koodu wọnyi:
jẹ ki "m = 4 * 1024"; echo $ mO 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 $ mti 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.shLẹhin eyi o le ṣiṣẹ pẹlu aṣẹ naa:
./script1.shAwọ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-ekeIṣ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" | bcOlupese "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ẹ .