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:
- Intricciate scripts mkdir ( più nantu à mkdir quì )
- Ingridà scrimenti cd (questu cambià u direttori à scrittura )
- Scrive nano examplen.sh (induve n hè l'esempiu chì vo avete travagliatu)
- Scrive l'script
- Prenem CTRL + O para guardar e CTRL + X para salir
- 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
fà
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 fà è 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:
- 1
- 2
- 3
- 4
- 5
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}
fà
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 fà è 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:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
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}
fà
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à fà è 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:
- 0
- 10
- 20
- 30
- 40
- 50
- 60
- 70
- 80
- 90
- 100
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:
- 5 hè divisible da 5
- 10 hè divisible da 5
- 15 hè divisible da 5
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.