Сигурно сте наишли неке задатке које морате понављати. На пример, замислите да имате директоријум пун датотека и желите да их све преименујете или да требате компримовати неколико датотека или их декомпресовати, можда требате претворити из једног формата у други, периодичне резервне копије итд. Скрипте имају решења за све ово.
Ови задаци када се примене на једну датотеку у Басху су у реду. Проблем је када то морате применити на десетине њих. Домаћи задатак може бити врло досадан. Једноставном петљом у Басху можете се решити тог проблема и покретати задатак више пута да бисте га аутоматизовали и не кошта вас толико посла. Начин на који је то врло једноставан, али многи нови корисници то не раде и на крају раде задатак ручно или траже графичке програме који то раде ...
Да бисте то урадили, држите се ове структуре:
for x in objetivo; do comando; done
По ејемплоПретпоставимо да желите да избришете датотеке са именом наме0, наме1, наме2, наме3 итд., До броја наме100. Кретање једног по једног са рм-ом било би прилично заморно, уместо тога можете покренути следећу команду:
for n in 'seq 100'; do rm nombre$n; done
Или можда замислите да имате директоријум са неколико компримованих .зип датотека које желите да издвојите. Да бисте избегли да идете један по један, можете да користите:
</pre> <pre>for n in *.zip; do unzip "$n"; done
Ви изменити ове басх петље јер више волите да користите алат који вам је потребан у вашем случају. На пример, још један, сада замислите да желите да распакујете тарбалл:
</pre> <pre>for n in *.tar.xz; do tar -xf "$n"; done</pre> <pre>
Надам се да сам помогао да не губите толико времена радећи све те задатке један по један и да то можете применити за поједностављивање свакодневног посла. Као што видите, нема никакве мистерије, супер је једноставно ...