Ako písať funkcie a slučky v Bash?

Ktorý musíte napísať v akomkoľvek programe
Najjednoduchší spôsob, ako znížiť množstvo kódu, ktorý musíte napísať v akomkoľvek programe, je prísť na spôsoby, ako kód znova použiť.

Skriptovanie shellu Bash je jazyk CLI ( Command Line Interface), ktorý je výkonný a všestranný. Najjednoduchší spôsob, ako znížiť množstvo kódu, ktorý musíte napísať v akomkoľvek programe, je prísť na spôsoby, ako kód znova použiť. Slučky a funkcie sú dva spôsoby, ako to dosiahnuť. Ako v každom jazyku, čím viac syntaxe poznáte (alebo kde syntax nájdete), tým lepšie budete pri písaní kódu. Kód uvedený v tomto článku je spustiteľný program, ktorý sa spustí v systéme UNIX, Linux alebo Mac OS X alebo novšom. Tento článok sa začne v systéme Linux na príkazovom riadku.

Kroky

  1. 1
    Prejdite na Linux a otvorte okno terminálu. Zadajte nasledujúci príkaz na príkazovom riadku: vi FunLoop.sh. Vytvorí sa súbor, ktorý použijete ako súbor skriptu, a otvoríte ho na úpravu.
  2. 2
    Zadajte príkaz shell do prvého riadka súboru. Každý skript shellu to potrebuje, aby zistil, v ktorom shelli sa má spustiť. Napíšte #!/bin/bash.
  3. 3
    Vytvorte premenné, ktoré budete potrebovať pre tento skript. Budete potrebovať jeden na zachytenie voľby zadanej používateľom a jeden na nastavenie adresára na základe voľby používateľa. Napíšte directory=""a choice=0.
  4. 4
    Vytvorte svoju prvú funkciu. Je to jednoduchý kód a má názov, ktorý rozlišuje veľké a malé písmena. Pomenujte to menuList. Všetko medzi úvodnou a záverečnou zátvorkou je ľubovoľný kód.
    Ktorý použijete ako súbor skriptu
    Vytvorí sa súbor, ktorý použijete ako súbor skriptu, a otvoríte ho na úpravu.
  5. 5
    Zadajte názov a zátvorky do prvého riadka za premennými. To by malo vyzerať nasledovne: menuList().
  6. 6
    Napíšte otváraciu zátvorku na iný riadok samostatne {.
  7. 7
    Zadajte príkaz, aby sa obrazovka na riadku vyčistila sama. Malo by to vyzerať takto: clear.
  8. 8
    Zadajte príkazy ozveny, ktoré tvoria ponuku.
    echo "1. Spustite ls v mojom domovskom adresári." echo "2. Spustite ls v koreňovom adresári." echo "3. Spustite ls v priečinku bin." echo "4. Ukončite program." 
  9. 9
    Napíšte uzatváraciu zátvorku na inom riadku samostatne }.
  10. 10
    Vytvorte funkciu na spustenie lspríkazu.
  11. 11
    Zadajte názov a zátvorky do prvého riadka za premennými. Mali by ste pridať runLS().
  12. 12
    Napíšte otváraciu zátvorku na iný riadok samostatne {.
  13. 13
    Zadajte príkaz na spustenie súboru ls. ls -la $directorykde adresár $ je ten, ktorý je určený voľbou ponuky.
  14. 14
    Napíšte uzatváraciu zátvorku na inom riadku samostatne }.
  15. 15
    Vytvorte príkazy cyklu a if na spustenie svojich funkcií.
  16. 16
    Vytvorte príkaz while so slovom, za ktorým bude nasledovať podmienený príkaz. while [$choice -ne 4]. Kde $choiceje vstup od používateľa a 4je položka ponuky, ktorá má programu povedať, aby sa ukončil, -neje podmienený operátor používaný v skriptovaní bash shell na vyhodnotenie čísel.
  17. 17
    Pokračujte v príkaze while kľúčovým slovom do. Zadajte do.
  18. 18
    Ďalej prichádza kód, ktorý chcete spustiť vždy, keď sa spustí slučka while. Máte štyri položky ponuky, takže ifna hodnoty, ktoré nespĺňajú požiadavky na položky ponuky, budete potrebovať štyri príkazy a jeden záchytný bod. Napíšte príkaz if takto:
    ak [$ choice -eq 1] potom $ adresár = "~/" runLS elif [$ choice -eq 2] potom $ adresár = "/" runLS elif [$ choice -eq 3] potom $ adresár = "/bin" runLS elif [$ choice -eq 4] potom vymažte echo „Ďakujeme, že používate súbory zoznamu“ spánok 3 ukončenie iného echa „neplatná voľba, skúste to znova“ hotovo 
    Budete potrebovať jeden na zachytenie voľby zadanej používateľom
    Budete potrebovať jeden na zachytenie voľby zadanej používateľom a jeden na nastavenie adresára na základe voľby užívateľa.
  19. 19
    Uložiť a ukončiť súboru zadaním: Esc :x.
  20. 20
    Spustite chmod, aby súbor získal povolenie na spustenie. Zadajte: chmod u+x FunLoop.sh.
  21. 21
    Spustite program zadaním. /FunLoop.sh.

Metóda 1 z 1: príklad

Ukážkový kód, ktorý môžete použiť:

!/bin/bash directory = "" voľba = 0 menuList () {clear echo "1. Spustite ls v mojom domovskom adresári." echo "2. Spustite ls v koreňovom adresári." echo "3. Spustite ls v priečinku bin." echo "4. Ukončite program"} runLS () {ls -la $ adresár sleep 2} while [$ choice -ne 4] do menuList read -p "Enter your choice:" option if [$ choice -eq 1] then $ adresár = "~/" runLS elif [$ choice -eq 2] potom $ adresár = "/" runLS elif [$ choice -eq 3] potom $ adresár = "/bin" runLS elif [$ choice -eq 4] potom vymazať echo „Ďakujeme, že používate súbory zoznamu“ spánok 3 ukončenie iného echa „Neplatná voľba, skúste to znova“ hotovo 

Varovania

  • Nesprávne skripty môžu mať negatívny vplyv na váš systém. Pri manipulácii so súbormi v počítači je dôležité byť opatrný.

Veci, ktoré budete potrebovať

  • Počítač s operačným systémom Linux, UNIX alebo OS X
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail