Cumu Scrive A BASH "per" Loop

Cumu utilizà u BASH "per" loop in scrittura di cunnessione

BASH (chì hè di Bourne Again Shell) hè una lingua di scrittura utilizata da a più di i sistemi operativi Linux è di UNIX.

Pudete esce cumprà BASH in una finestra di a terminal, unu dopu l'altru o pudete aghjunghje l'ordine per un schedariu di testu per pruducia un script script.

A grandissima cosa di scrittura di scrittura di scrittura hè chì vi pudete fà cresce u novu. Per esempiu imagine chì hà bisognu di aghjà un utilizatore à un sistema, stabilisce i so permessi è gestione u so ambienti iniziali. Pudete pudè scrive l'ordini nantu à un pezzu di carta è corse cum'è si aghjunghjenu novi utenti o pudete scrive un scrittu unicu è passanu i paràmetri in questu script.

E lingue scripting, cum'è BASH, sò struzzioni di prugrammazione simili di l'altri lingua. Per esempiu, pudete aduprà parametri di impurtazione per piglià l'ingaghjamentu da u teclatu è i cacheghjite cum'è variables. Pudete ottene u script di rializà una certa attività basata annantu à u valore di i paràmetri di input .

Una parte fundamentale di qualsiasi lingua di scritturazione è di scrittura hè l'abilità di correru u listinu di u codice novamente.

Ci hè una quantità di modi per ripetirete u còdice (cunnisciutu ancu cume loops). In questa guidata, vi sarete amparatu cumu scrive u ciclu "per".

A per u ciclu repite una certa parti di u còdice annantu è annantu. Sò d'utilità per chì una serie di cumandamenti pò esse ghjustu finu à chì una cundizione particulare hè cunnisciuta, dopu à quale elli si stà.

In questa guidata, vi sarà amparatu cinque forme di modu di utilizà u ciclu in un script BASH.

Prima di Cumplementu

Prima di avè principiatu cù l'esempii di loop, bisognu di apre a finestra di cuntazione è seguite ste passi:

  1. Intricciate scripts mkdir ( più nantu à mkdir quì )
  2. Ingridà scrimenti cd (questu cambià u direttori à scrittura )
  3. Scrive nano examplen.sh (induve n hè l'esempiu chì vo avete travagliatu)
  4. Scrive l'script
  5. Prenem CTRL + O para guardar e CTRL + X para salir
  6. Run bash examplen.sh (una volta, cun n esse l'esempiu chì vo avete travagliatu)

Cumu loop à una lista

#! / bin / bash
per numaru in 1 2 3 4 5

Ecu $ numaru
fattu
sorte 0

U modu BASH d'utilizà "per" i ciclichi hè un pocu diffirenti per a manera di più di l'altri linguaggiu di scrittura è di scrittura tratta di "per" loops. Scartite u scrittore ...

In una BASH "per" ciclu tutte e cose, i manifesti entre è fattu sò fattu una volta per ogni sughjettu in a lista.

In l'esempiu di supra, a lista hè tuttu ciò chì vene dopu a parolla in (ie 1 2 3 4 5).

Ogni annuariu u ciclu, u valore in u listinu hè inseritu à a varieza pricisate dopu à a parola "per" . In u ciclu supra, a variàbile hè chjamata nummira .

A direzzione d'ecu hè usata per l'infurmazioni quant'à a pantalla.

Per quessa, stu esempiu pò piglià i numeri 1 à 5 è u surtisce unu l'unu à u screnu:

Cumu loop entre un punteddu è iniziu

U problema cù l'esempiu di supra hè chì sè vo vulete prucessu una lista più grande (dicerà à 1 à 500), averà parechji identità in tutti i numeri in u primu locu.

Questu ci porta à u sicondu esempiu chì si mostra cumu per esempiu un puntu di inizzi è finale:

#! / bin / bash
per nummiru in {1..10}

eco "$ number"
fattu
sorte 0

I règuli sò basculamenti a stessa. I valori dopu a parola " in" componi a lista per ieranu à traversu è ogni valuru in a lista si trova in a variata (esempio numero), è ogni volta u ciclu palesa, i manifesti entre è fattu sò realizati.

A principal diferenza hè a manera chì a lista hè furmata. I corbii di curtains {} bastamente significate una varietà, è a varieghja, in questu casu, hè di 1 à 10 (i dui punti sferiscenu u principiu è a fini di un randu).

U esempiu, per quessa, passa per ogni numeru entre 1 à 10 è ponu scrive u numeru in u screnu cumu seguitu:

U listessu ciclu pò esse scrittu cum'è questu, cù sintassi identica à u primu esempiu:

per numaru in 1 2 3 4 5 6 7 8 9 10

Cumu Salierà i numeratori in una Range

L'esempiu previò dimustratu per circustrarà cum'è un puntu di inizziu è finale, cusì avà avemu vistu cumu si scopre numeri in u rigistru.

Imagine chì vulete cercà entre 0 è 100 ma solu vede tutte u 10. U scrittu script scumpressu cumu fà cum'è ciò chì:

#! / bin / bash
per nummiru in {0..100..10}

eco "$ number"
fattu
sorte 0

I règuli sò basculamenti a stessa. Ci hè una lista, una variàbile è un settore di tistimonii per esse realizatu trà è fattu . A lista di sta volta hè stallata cusì: {0..100..10}.

U primu numru hè 0 è u numeru finali hè 100. U terzu numare (10) hè u numeru di elementi in a lista chì saltarà.

L'esempiu di supra, per quessa, mostra u seguente output:

A più tradiziunale chì cercanu à ciclu

U BASH in modu di scrivite per i ciclichi hè un poe strammi paragunate à l'altri lingua di prugrammazione.

Pudete ancu scrive un loop in un stile simili à a lingua di prugrammatu C, cum'è chistu:

#! / bin / bash
per ((nummiru = 1; numeri <100; numeri ++))
{
se (($ number% 5 == 0))
dopu
Ecu "Numu $ hè divisible da 5"
fi
}
sorte 0

U ciclu principia cù l'aghjurnamentu di u numaru varianti à 1 (nummiru = 1 ). U ciclu mantene a rinuveranza mentre u valore d'un numeru hè menu di 100 ( numeru <100 ). U valore di u numeru cambia agghiuncennu 1 à questu dopu ogni iterazione ( numme ++ ).

Tuttu entre i arnesi rive hè realizatu through ogni iterazione di u ciclu.

U pocu chjappu ci si cuntene u valore di un numeru , dividite cù 5 è compara u restu à 0. Si u restu hè 0, allura u numaru hè divisible da 5 è esse indicatu nantu à a schermu.

Per esempiu:

Se vulete cambià u mumentu di l'iterazione, pudete mudificà u numeru + + aduprà per esse numero = u numeru + 2 , numru = nume + 5 , o nummiru + numaru + 10 etc.

Questa pò esse più ridutta à u numeru + = 2 o nummiru + = 5 .

Un esempiu Practical

Per loops pudete fà più di l'iterate listi di numeri. Pudete usà l'output di altri cumandamenti cum'è a lista.

U vechju esempiu palesa a cunvertisce di schedarii di l'audio da MP3 à WAV :

#! / bin / bash

A lista di stu esempiu hè ogni file cù l'estensione .MP3 in u caratteru attuale è a variàbile hè un schedariu .

U cumportamentu mpg converti u MP3 in WAV. Invece, avete bisognu di stallà quì cù u vostru manubbettante in primu.