Scriptarea Bash: bucle pentru automatizarea lucrărilor de zi cu zi

scripting bash

Cu siguranță ați dat peste unele sarcini pe care trebuie să le faceți în mod repetat. De exemplu, imaginați-vă că aveți un director plin de fișiere și doriți să schimbați numele tuturor sau că trebuie să comprimați mai multe fișiere sau să le decomprimați, poate că trebuie să convertiți de la un format la altul, copii de rezervă periodice, etc. Scripturile au soluții pentru toate acestea.

Aceste sarcini atunci când sunt aplicate unui singur fișier în Bash sunt în regulă. Problema este când trebuie să o aplicați la zeci dintre ele. Temele pot fi foarte enervante. Cu o simplă buclă sau buclă în Bash, puteți scăpa de această problemă și puteți rula o sarcină în mod repetat pentru a o automatiza și a nu vă costa atât de mult. Modul de a face acest lucru este foarte simplu, dar mulți utilizatori noi nu o fac și ajung să facă sarcina manual sau caută programe grafice care o fac ...

Pentru aceasta, rămâneți cu această structură:

for x in objetivo; do comando; done

De exempluSă presupunem că doriți să ștergeți fișierele denumite nume0, nume1, nume2, nume3 etc., până la numărul name100. A merge unul câte unul cu rm ar fi destul de plictisitor, în schimb puteți rula următoarea comandă:

for n in 'seq 100'; do rm nombre$n; done

Sau poate imaginați-vă că aveți un director cu mai multe fișiere .zip comprimate pe care doriți să le extrageți. Pentru a evita să mergi unul câte unul, poți folosi:

</pre>
<pre>for n in *.zip; do unzip "$n"; done

Tu modificați aceste bucle bash deoarece preferați să utilizați instrumentul de care aveți nevoie în cazul dvs. De exemplu, încă un altul, acum imaginați-vă că doriți să despachetați un tarball:

</pre>
<pre>for n in *.tar.xz; do tar -xf "$n"; done</pre>
<pre>

Sper că am ajutat să nu pierdeți atât de mult timp îndeplinind toate acele sarcini pe rând și că puteți aplica acest lucru pentru a vă simplifica munca de zi cu zi. După cum puteți vedea, nu are niciun mister, este foarte simplu ...


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.