Ju me siguri keni ardhur të gjithë disa detyra që duhet t'i bëni në mënyrë të përsëritur. Për shembull, imagjinoni që keni një direktori të plotë me skedarë dhe dëshironi të ndryshoni emrin e të gjithë atyre, ose që duhet të kompresoni disa skedarë ose t'i dekompresoni ato, ndoshta duhet të ktheni nga një format në tjetrin, rezervime periodike, etj. Skenaret kanë zgjidhje për të gjitha këto.
Këto detyra kur zbatohen në një skedar të vetëm në Bash janë në rregull. Problemi është kur duhet ta zbatoni në dhjetëra prej tyre. Detyrat e shtëpisë mund të jenë shumë të bezdisshme. Me një lak ose lak të thjeshtë në Bash ju mund të shpëtoni nga ai problem dhe të keni një detyrë të ekzekutuar në mënyrë të përsëritur për ta automatizuar atë dhe mos t'ju kushtojë aq shumë punë. Mënyra për ta bërë atë është shumë e thjeshtë, por shumë përdorues të rinj nuk e bëjnë atë dhe përfundojnë duke bërë detyrën manualisht ose duke kërkuar programe grafike që e bëjnë atë ...
Për ta bërë këtë, rrinë me këtë strukturë:
for x in objetivo; do comando; done
Por EjemploSupozoni se dëshironi të fshini skedarët me emrin name0, name1, name2, name3, etj., Deri në numrin name100. Të shkosh një nga një me rm do të ishte mjaft e lodhshme, përkundrazi, mund të ekzekutosh komandën e mëposhtme:
for n in 'seq 100'; do rm nombre$n; done
Ose mbase imagjinoni që keni një direktori me disa skedarë .zip të kompresuar që dëshironi të nxjerrni. Për të shmangur nevojën për të shkuar një nga një mund të përdorni:
</pre> <pre>for n in *.zip; do unzip "$n"; done
Ju mundeni ndryshoni këto sythe bash pasi preferoni të përdorni mjetin që ju nevojitet në rastin tuaj. Për shembull, edhe një tjetër, tani imagjinoni se doni të shpaketoni një tarball:
</pre> <pre>for n in *.tar.xz; do tar -xf "$n"; done</pre> <pre>
Shpresoj se kam ndihmuar për të mos humbur aq shumë kohë duke bërë të gjitha ato detyra një nga një dhe që mund ta zbatoni këtë për të rregulluar punën tuaj të përditshme. Siç mund ta shihni, nuk ka asnjë mister, është shumë e thjeshtë ...