Slik bruker du BASH for Loop

En av de mest grunnleggende triksene når du skriver opp bash-skript, innebærer å lage en sløyfe, slik at du kan få en bestemt oppgave utført automatisk flere ganger over. Til slutt vil løkken nå en forhåndsbestemt testtilstand og plutselig slutte å utføre. Looper som disse vil fungere perfekt i bash på Linux og MacOS, så vel som bash-skallet i Windows 10 og til og med de forskjellige skjellene i FreeBSD. Selvfølgelig kan du skrive hvilken kommando du helst foretrekker i en sløyfe, og fortsett å gå i gang med noen prosess. Mens vi skal skrive noen svært enkle sløyfer, kan du bruke disse ferdighetene til å forfatter hva slags skript du ønsker.

Det er mange måter å begynne å skrive et skript på, men for denne diskusjonen antar vi at du har åpnet en ledetekst, enten ved å søke etter terminal på Dash, ved å klikke på den i KDE, MATE, LX eller Whisker-menyene eller ved å holde ned Ctrl, Alt og T samtidig. Mens vi diskuterer vi / vim og nano som redaktører, er spørsmålet om hvilken redaktør som skal brukes, ganske personlig, og du kan jobbe med det du føler deg komfortabel med.

Metode 1: Den til Loop

Kanskje den mest grunnleggende sløyfen i bash er den til sløyfen. Det vil fortsette å utføre kommandoer til testbetingelsen du setter blir sant. Vi antar at du har brukt enten nano eller vi til å åpne en ikke-eksisterende fil kalt until.sh og er klar til å sette inn fersk tekst i den. Vi vil bare lage noe som teller til 20 i terminalen din for å holde det enkelt først.

Start med å skrive inn følgende:

#! / Bin / bash

n = 0

inntil [$ n -gt 20]

gjøre

ekko $ n

((N ++))

ferdig

Hvis du bruker nano, lagrer du det ved å holde nede Ctrl og deretter trykke O og til slutt X for å avslutte. Brukere av vi vil ønske å trykke flukt og skriv deretter: wq for å lagre og avslutte.

Neste type chmod + x untilLoop ved spørringen for å gjøre det kjørbar og skriv deretter ./untilLoop for å kjøre den. Når den kjører, vil sløyfen fortsette å skrive ut nye numre ut på terminalen din til n-varianten kommer til 20.

Forresten forteller den første linjen miljøet ditt som skal lastes opp når du arbeider med disse skriptene. Noen programmerere anbefaler bare å bruke #! / Bin / sh for å sikre at skriptet overholder bestemte POSIX-standarder, men disse enkle skriptene bør ikke ha noe problem som kjører på de aller fleste moderne systemer.

Metode 2: The for Loop

A for loop tar en titt på hvert element i en gitt liste og utfører deretter et gitt sett med kommandoer på listen. Vi lager en som skriver ut noen operativsystemnavn, men husk på nytt at du kan gjøre noe med dette hvis du vil.

Skriv enten nano forLoop eller vi forLoop ved ledeteksten og begynn å skrive inn dette følgende skriptet. Brukere av vi må skrive inn innstillingsmodus før de gjør det.

#! / Bin / bash

unices = 'GNU / Linux FreeBSD OpenBSD NetBSD Solaris OpenIndiana Darwin HP-UX Minix'

for unix i $ unices

gjøre

ekko $ unix

ferdig

PRO TIPS: Hvis problemet er med datamaskinen eller en bærbar PC / notatbok, bør du prøve å bruke Reimage Plus-programvaren som kan skanne arkiver og erstatte skadede og manglende filer. Dette fungerer i de fleste tilfeller der problemet er oppstått på grunn av systemkorrupsjon. Du kan laste ned Reimage Plus ved å klikke her

Lagre filen igjen ved å bruke enten Ctrl + O og Ctrl + X-metoden i nano eller Esc deretter: wq-metoden i vi før du utsteder kommandoen chmod + x forLoop for å gjøre det kjørbar. Når du har det, kjør det ved å skrive ./forLoop ved spørringen. For-sløyfen tvinger ekkokommandoen til å fungere på hver av elementene i enhetens variabel i sin tur. Du kan igjen erstatte denne listen med noe argument og erstatte ekko med en hvilken som helst kommando for å automatisere lange prosesser.

Metode 3: Mens Loop

Begynn å redigere en tredje fil kalt whileLoop ved hjelp av nano, vi eller hvilken annen redaktør du vil bruke. Hvis du foretrekker å bruke en grafisk tekstredigerer, kan du faktisk også gjøre det med noen av disse prosjektene så lenge du sørger for å sette filen i samme katalog som du jobber fra innsiden av ledeteksten .

I denne filen vil du legge til linjene:

#! / Bin / bash

n = 0

mens [$ n-20]

gjøre

ekko $ n

((N ++))

ferdig

Lagre filen på samme måte som du lagret de andre, og avslutt deretter tekstredigeringsprogrammet. Når du har gått ut, legger du kommandoen chmod + x whileLoop slik at du kan kjøre den og deretter kjøre ./whileLoop for å kjøre den. Du ser den samme utgangen som kom ut av skriptet untilLoop fra den første metoden da den teller fra 0 til 20 i mer enn sannsynlig et delt sekund.

Dette er en utmerket demonstrasjon av det faktum at det er mer enn én måte å gjøre ting når du arbeider med løkker på denne måten. Selv om det er teknisk ingen feil måte å gjøre det på, vil du sannsynligvis komme over skriptforfattere som hevder at du skal skrive skriptene dine nærmere C-programmeringsspråket gjør ting eller alternativt, andre kan foreslå at du ikke skal gjøre dette. Ærlig er det sannsynligvis mange riktige måter å løse et problem på.

Vær så snill å slette skriptene dine når du er ferdig med å praktisere med dem.

PRO TIPS: Hvis problemet er med datamaskinen eller en bærbar PC / notatbok, bør du prøve å bruke Reimage Plus-programvaren som kan skanne arkiver og erstatte skadede og manglende filer. Dette fungerer i de fleste tilfeller der problemet er oppstått på grunn av systemkorrupsjon. Du kan laste ned Reimage Plus ved å klikke her

Facebook Twitter Google Plus Pinterest