Вы наверняка сталкивались некоторые задачи, которые вам нужно выполнять неоднократно. Например, представьте, что у вас есть каталог, полный файлов, и вы хотите переименовать их все, или что вам нужно сжать несколько файлов или распаковать их, возможно, вам нужно преобразовать из одного формата в другой, периодическое резервное копирование и т. Д. У скриптов есть решения для всего этого.
Эти задачи применимы к одному файлу в Bash. Проблема в том, что приходится применять его к десяткам из них. Домашнее задание может быть очень утомительным. С помощью простого цикла в Bash вы можете избавиться от этой проблемы и многократно запускать задачу, чтобы автоматизировать ее, и это не будет стоить вам так много работы. Способ сделать это очень простой, но многие новые пользователи не делают этого и в конечном итоге выполняют задачу вручную или ищут графические программы, которые это делают ...
Чтобы сделать это, придерживаться этой структуры:
for x in objetivo; do comando; done
По примерПредположим, вы хотите удалить файлы с именами name0, name1, name2, name3 и т. Д. До номера name100. Поочередное использование rm было бы довольно утомительным занятием, вместо этого вы можете выполнить следующую команду:
for n in 'seq 100'; do rm nombre$n; done
Или, может быть, представьте, что у вас есть каталог с несколькими сжатыми файлами .zip, которые вы хотите распаковать. Чтобы не идти по одному, вы можете использовать:
</pre> <pre>for n in *.zip; do unzip "$n"; done
Вы изменить эти циклы bash так как вы предпочитаете использовать тот инструмент, который вам нужен в вашем случае. Например, еще один, теперь представьте, что вы хотите распаковать tarball:
</pre> <pre>for n in *.tar.xz; do tar -xf "$n"; done</pre> <pre>
Надеюсь я помог не тратить так много времени на выполнение всех этих задач одну за другой, и вы можете применить это, чтобы упростить свою повседневную работу. Как видите, в этом нет ничего загадочного, это очень просто ...