Bawo ni Lati Kọ A BASH "fun" Yipo

Bi o ṣe le lo BASH "fun" isori ni awọn iwe afọwọkọ ikarahun

BASH (eyi ti o wa fun Ikarahun Ṣibẹri Bourne) jẹ ede ti a kọkọ ti o lo nipasẹ ọpọlọpọ awọn ọna ṣiṣe ti Linux ati UNIX.

O le ṣiṣe awọn aṣẹ BASH laarin agbederu window ọkan lẹhin ti ẹlomiiran tabi o le fi awọn ofin paṣẹ si faili faili lati gbe iwe afọwọkọ kan.

Ohun nla nipa kikọ iwe afọwọkọ ti o ni pe o le ṣiṣe wọn lọ ati lẹẹkan. Fún àpẹrẹ fojuinu o nilo lati fi olumulo kan kun si eto kan, ṣeto awọn igbanilaaye wọn ki o ṣakoso ipo wọn ti o bẹrẹ. O le ṣe kọ awọn ofin si ori iwe kan ati ṣiṣe wọn bi o ṣe nfi awọn olumulo titun kun tabi o le kọ iwe-kikọ kan pato ki o si ṣe awọn igbasilẹ ni akọsilẹ naa.

Awọn ede afọwọkọ gẹgẹ bii BASH ni iru awọn eto itumọ bi awọn ede miiran. Fun apeere, o le lo awọn ifilelẹ ti nwọle lati gba igbasilẹ lati inu keyboard ki o tọju wọn bi awọn oniyipada. O le gba iwe-akọọlẹ lati ṣe išẹ kan da lori iye ti awọn ipinnu titẹ sii .

Apa kan pataki ti eyikeyi siseto ati ede kikọ ni agbara lati ṣiṣe iru nkan koodu kanna lẹẹkan si lẹẹkansi.

Awọn nọmba kan ti awọn ọna lati tun koodu ṣe (tun mọ bi awọn losiwajulosehin). Ninu itọsọna yi, ao fihan bi o ṣe kọ "fun" isokọ.

A fun lupu tun tun apakan apakan kan ti koodu sii ati siwaju. Wọn wulo lati jẹ ki ọpọlọpọ awọn ofin le ṣiṣiṣẹ titi ipo kan pato yoo pade, lẹhin eyi ti wọn yoo da.

Ninu itọsọna yi, a yoo fi ọna marun han fun ọ lati lo iṣiro laarin akosile BASH.

Ṣaaju ki o to bẹrẹ

Ṣaaju ki o to bẹrẹ pẹlu awọn fun awọn apejuwe bii, o nilo lati ṣi window window ati tẹle awọn igbesẹ wọnyi:

  1. Tẹ awọn iwe afọwọkọ mkdir ( kọ diẹ sii nipa mkdir nibi )
  2. Tẹ awọn iwe afọwọkọ cd (eyi yi ayipada si awọn iwe afọwọkọ )
  3. Tẹ nano examplen.sh (ibi ti n jẹ apẹẹrẹ ti o n ṣiṣẹ lori)
  4. Tẹ akosile naa sii
  5. Tẹ Konturolu + O lati fi pamọ ati Ctrl + X lati jade
  6. Run bash examplen.sh (lẹẹkansi, pẹlu n jẹ apẹẹrẹ ti o n ṣiṣẹ pẹlu)

Bi o ṣe le lokun nipasẹ akojọ kan

#! / bin / bash
fun nọmba ni 1 2 3 4 5
ṣe
echo $ nọmba
ṣe
jade kuro 0

BASH ọna ti lilo "fun" losiwajulosehin yatọ si ọna ọpọlọpọ awọn siseto miiran ati awọn ede ti a kọkọ mu "fun" awọn losiwajulosehin. Jẹ ki a fọ ​​awọn akosile naa silẹ ...

Ni BASH "fun" ṣakoso gbogbo, awọn gbolohun laarin ṣe ati ṣe ni a ṣe lẹẹkan fun gbogbo ohun kan ninu akojọ.

Ni apẹẹrẹ ti o wa loke, akojọ naa jẹ ohun gbogbo ti o wa lẹhin ọrọ ni (ie 1 2 3 4 5).

Nigbakugba ti awọn ohun elo ti n ṣakoso, iye ti o wa ninu akojọ ni a fi sii sinu iyipada ti o wa lẹhin ọrọ naa "fun" . Ni iṣakoso loke, a pe oniyipada nọmba .

Awọn ọrọ iwoye naa nlo lati ṣe afihan alaye si oju iboju.

Nitorina, apẹẹrẹ yi gba awọn nọmba 1 nipasẹ 5 ati awọn ọnajade wọn lẹẹkan lọ si iboju:

Bi o ṣe le lo larin Ibẹrẹ ati Ibi ipari

Iṣoro pẹlu apẹẹrẹ ti o wa loke ni pe ti o ba fẹ ṣe ilana nla kan (sọ 1 si 500), yoo gba ọjọ ori lati tẹ gbogbo awọn nọmba ni akọkọ.

Eyi yoo mu wa wá si apẹẹrẹ keji ti o fihan bi o ṣe le ṣe afihan aaye ibẹrẹ ati ipari:

#! / bin / bash
fun nọmba ni {1..10}
ṣe
echo "$ nọmba"
ṣe
jade kuro 0

Awọn ofin jẹ besikale kanna. Awọn iye lẹhin ti ọrọ " ni" ṣe akojọpọ lati ṣe ayẹwo nipasẹ ati iye kọọkan ninu akojọ ti a fi sinu iyipada (ie nọmba), ati ni gbogbo igba ti awọn amuṣiṣẹpọ, awọn alaye laarin ṣe ati ṣe ni a ṣe.

Iyato nla ni ọna ti a ṣe akopọ naa. Awọn akọmọ wiwọn {} ṣe afihan ibiti a ti le ri, ati ibiti o wa, ninu ọran yii, ni 1 si 10 (awọn aami meji ti o yatọ si ibẹrẹ ati opin opin).

Eleyi jẹ apẹẹrẹ, nitorina, gba larin nọmba kọọkan laarin 1 ati 10 ati awọn ọnajade nọmba si oju iboju gẹgẹbi atẹle:

Bọtini kanna ni a le kọ bi eyi, pẹlu aami ti o pọju si apẹrẹ akọkọ:

fun nọmba ni 1 2 3 4 5 6 7 8 9 10

Bawo ni lati Fún Awọn NỌMBA ni aaye kan

Àpẹrẹ àpẹẹrẹ fihan bi o ṣe laiyara laarin ibẹrẹ ati ipari, bayi bayi a yoo wo bi a ṣe le foju awọn nọmba ni ibiti.

Fojuinu pe o fẹ lati laka laarin 0 ati 100 ṣugbọn afihan gbogbo nọmba mẹwa. Awọn akosile wọnyi ti fihan bi o ṣe le ṣe pe:

#! / bin / bash
fun nọmba ni {0..100..10}
ṣe
echo "$ nọmba"
ṣe
jade kuro 0

Awọn ofin jẹ besikale kanna. Akojọ kan wa, iyipada kan, ati ṣeto awọn gbólóhùn lati ṣe laarin ṣe ati ṣe . Awọn akojọ akoko yii dabi eyi: {0..100..10}.

Nọmba akọkọ jẹ 0 ati nọmba ipari ni 100. Nọmba kẹta (10) jẹ nọmba awọn ohun kan ninu akojọ ti yoo ma foju.

Awọn apẹẹrẹ ti o wa loke, nitorina, ṣe afihan awọn oṣiṣẹ wọnyi:

A Diẹ Ti Ibile Ti N Fun Ideri

Awọn ọna BASH kikọ fun awọn losiwajulosehin jẹ die-die ajeji nigbati a bawe si awọn ede siseto miiran.

O le, sibẹsibẹ, kọwe fun isubu ni ọna kanna si ede Ṣatunkọ C, bii eyi:

#! / bin / bash
fun ((nọmba = 1; nọmba <100; nọmba + +))
{
ti o ba ti (($ nọmba% 5 == 0))
lẹhinna
echo "$ nọmba ti wa ni divisible nipasẹ 5"
fi
}
jade kuro 0

Iwọn naa bẹrẹ nipasẹ fifi nọmba ayípadà si 1 (nọmba = 1 ). Iwọn naa yoo ma ṣetọju lakoko iye iye nọmba kan jẹ kere ju 100 ( nọmba <100 ). Iye iye nọmba yipada nipa fifi kun si 1 lẹhin igbadọ kọọkan ( nọmba + + ).

Ohun gbogbo ti o wa laarin awọn ọpa iṣan ni a ṣe nipasẹ gbogbo idasilẹ ti loop.

Awọn bit laarin awọn àmúró ṣayẹwo iye ti nọmba kan , pin si nipasẹ 5, ati ki o ṣe afiwe awọn iyokù si 0. Ti o ba ti ku ni 0 lẹhinna nọmba ti wa ni divisible nipasẹ 5 ati ki o wa lẹhinna han lori iboju.

Fun apere:

Ti o ba fẹ yi iyipada ipele ti itewọle o le ṣe atunṣe nọmba nọmba ++ lati jẹ nọmba = nọmba + 2 , nọmba = nọmba + 5 , tabi nọmba = nọmba + 10 bbl

Eyi le dinku si nọmba + = 2 tabi nọmba + = 5 .

Apere apẹẹrẹ

Fun awọn losiwajulosehin le ṣe diẹ ẹ sii ju awọn akojọ ti awọn nọmba ti nmọ. O le lo awọn iṣẹ-ṣiṣe miiran bi akojọ.

Apẹẹrẹ ti o tẹle yii fihan bi o ṣe le yi awọn faili ohun orin pada lati MP3 si WAV :

#! / bin / bash

Àtòkọ ninu apẹẹrẹ yii ni gbogbo faili pẹlu itẹsiwaju .MP3 ni folda ti isiyi ati iyipada jẹ faili kan .

Awọn aṣẹ mpgna ti yi faili MP3 pada sinu WAV. Sibẹsibẹ, o nilo lati fi sori ẹrọ yii nipa lilo oluṣakoso package rẹ akọkọ.