Ebben a cikkben megosztjuk Önnel azokat a különböző módszereket, amelyekkel kényelmesen elkészítheti a „for” és „while” ciklusokat végtelenül a Bash-ban a Linux Mint 20 alkalmazásban.
Bash Infinite Loop példa szkriptek a Linux Mint 20-ban:
A Bash végtelen hurkjaival különböző módon lehet dolgozni, és az alábbiakban bemutatjuk ezeket bemutató szkripteket:
Megjegyzés: Az ebben a cikkben tárgyalt összes Bash szkriptet elérheti az InfiniteLoop nevű otthoni könyvtárunkban.SH.
1. szkript: „Míg” Loop használja a „:” parancsot a Bash-ban a Linux Mint 20-ban:
Ebben a példában egy soha véget nem érő „while” ciklust hozunk létre, párosítva azt a „:” paranccsal a Bash-ban a Linux Mint 20 alkalmazásban. Csak másolja a képen látható alábbi szkriptet egy Bash fájlba.
Ahogy a fenti Bash szkript mutatja, létrehoztunk egy „while” ciklust, amelyet a „:” parancs követett. Ez a parancs az „true” parancs alternatívája, ami azt jelenti, hogy bármi is legyen a helyzet, a „while” ciklus mindig végrehajtja. Ezen a „while” cikluson belül egyszerűen kinyomtattunk egy mintaüzenetet, amely azt mondja: “Fuss tovább”. Utána megvan az „alvás” parancs, 1 másodpercig vár, mielőtt minden következő üzenetet kinyomtatna a terminálra.
Amint ez a Bash szkript meg van írva, az alábbi paranccsal hajtjuk végre:
$ bash InfiniteLoop.SH
Amikor az említett parancsfájl végrehajtásra kerül, észreveszi, hogy a terminálon véget nem érő üzenetek jelennek meg: „Fuss tovább”, amint az a következő képen látható. Ezek az üzenetek csak akkor állnak le, ha megnyomja a Ctrl + C billentyűkombinációt. Ellenkező esetben ez a hurok csak folytatódik.
2. szkript: „Míg” hurok az „igaz” parancs használatával a Bash-ban a Linux Mint 20-ban:
Ebben a példában egy soha véget nem érő „while” ciklust fogunk létrehozni, összekapcsolva azt a „true” paranccsal a Linux Mint 20 Bash programjában. Csak egyszerűen másolja a képen látható szkriptet egy Bash fájlba. Mint észreveheti, a szkript pontosan megegyezik azzal, amelyet az első forgatókönyvben hoztunk létre. Az egyetlen különbség azonban az, hogy ezúttal a „:” parancsot lecseréltük az „true” parancsra. Ennek ellenére pontosan ugyanazt a célt fogja szolgálni.
Ezt a szkriptet ugyanazzal a „bash” paranccsal hajtjuk végre, és terminálunkon észlelünk egy véget nem érő üzenetsorozatot, amely csak akkor fejeződik be, amikor megnyomjuk a Ctrl + C billentyűkombinációt, amint az az alábbi képen látható:
3. szkript: Egy vonal „Míg” hurok a „Mint” paranccsal a Bash-ban a Linux Mint 20-ban:
Megfigyelheti, hogy az 1. és 3. szkript feleslegesen hosszadalmas. Nos, mindkét szkript összenyomható egy egyvonalas parancsba. Csak másolja az alábbi képen látható szkriptet:
A fenti képen látható szkript az 1. szkript pontos replikációja. Ahelyett azonban, hogy minden parancsot egy másik sorba írtunk volna, egyszerűen pontosvesszővel választottuk el őket.
Amikor végrehajtjuk ezt a szkriptet, pontosan ugyanazokat az eredményeket kapjuk, mint amit az 1. szkript végrehajtása után kaptunk. Ez az alábbi képen látható:
4. szkript: Egy vonal „Míg” hurok az „igaz” paranccsal a Bash-ban a Linux Mint 20-ban:
Hasonlóképpen szoríthatjuk a 2. szkriptet egy egyvonalas parancsba. Csak másolja az alábbi képen látható szkriptet:
Megfigyelhető, hogy a fenti képen látható szkript a 2. szkript pontos replikációja. Ismét csak annyi a különbség, hogy ahelyett, hogy minden parancsot más sorba írnánk, egyszerűen pontosvesszőkkel választottuk el őket.
Amikor végrehajtjuk ezt a szkriptet, pontosan ugyanazokat az eredményeket kapjuk, mint a 2. szkript végrehajtása után. Ez az alábbi képen látható:
5. szkript: Paraméter nélküli hurok esetén a Bash-ban a Linux Mint 20-ban:
Ez a példa különbözik az 1–4. Szkriptektől, mert a „while” ciklus használata helyett egy végtelen „for” ciklust fogunk létrehozni. Csak másolja az alábbi képen látható szkriptet:
A „for” cikluson belül végrehajtandó feladat ugyanaz, mint amit a fent tárgyalt szkriptekkel tettünk. Azonban a „while” hurok használata helyett a “for” ciklust használtuk minden feltétel és paraméter nélkül. Mindig végrehajtják, mivel feltételét alapértelmezés szerint „igaznak” tekintik.
Ezt a szkriptet ugyanazzal a „bash” paranccsal hajtjuk végre, és terminálunkon észlelünk egy véget nem érő üzenetsorozatot, amely csak akkor fejeződik be, amikor megnyomjuk a Ctrl + C billentyűkombinációt, amint az az alábbi képen látható:
Következtetés:
Ebben a cikkben a végtelen ciklusok Bash-ban történő megvalósításának öt különböző módját tanítottuk meg. Ezek a hurkok örökké működni fognak, mivel nincs megadva végződési feltétel, vagy ha van is, soha nem fog teljesülni. Ezért, ha véget akar vetni ennek a véget nem érő ciklusnak, vagy ki kell használnia egy „break” utasítást egy adott feltétellel ebben a ciklusban, vagy egy ilyen szkript végrehajtása során, egyszerűen meg kell nyomnia a Ctrl + C billentyűkombinációt valamennyi példánkban megvitattuk.