Sie sind sicherlich rübergekommen Einige Aufgaben, die Sie wiederholt ausführen müssen. Stellen Sie sich zum Beispiel vor, Sie haben ein Verzeichnis voller Dateien und möchten den Namen aller Dateien ändern, oder Sie müssen mehrere Dateien komprimieren oder dekomprimieren. Vielleicht müssen Sie regelmäßig von einem Format in ein anderes konvertieren. usw. Skripte haben Lösungen für all dies.
Diese Aufgaben sind in Ordnung, wenn sie auf eine einzelne Datei in Bash angewendet werden. Das Problem ist, wenn Sie es auf Dutzende von ihnen anwenden müssen. Hausaufgaben können sehr nervig sein. Mit einer einfachen Schleife in Bash können Sie dieses Problem beseitigen und eine Aufgabe wiederholt ausführen lassen, um sie zu automatisieren, ohne Sie so viel Arbeit zu kosten. Die Vorgehensweise ist sehr einfach, aber viele neue Benutzer tun dies nicht und erledigen die Aufgabe manuell oder suchen nach Grafikprogrammen, die dies tun ...
Hierzu bleib bei dieser Struktur:
for x in objetivo; do comando; done
von ejemploAngenommen, Sie möchten Dateien mit den Namen name0, name1, name2, name3 usw. bis zur Nummer name100 löschen. Es wäre ziemlich mühsam, nacheinander mit rm zu arbeiten. Stattdessen können Sie den folgenden Befehl ausführen:
for n in 'seq 100'; do rm nombre$n; done
Oder stellen Sie sich vor, Sie haben ein Verzeichnis mit mehreren komprimierten ZIP-Dateien, die Sie extrahieren möchten. Um zu vermeiden, dass Sie nacheinander gehen müssen, können Sie Folgendes verwenden:
</pre> <pre>for n in *.zip; do unzip "$n"; done
Sie Ändern Sie diese Bash-Schleifen da Sie es vorziehen, das Werkzeug zu verwenden, das Sie in Ihrem Fall benötigen. Zum Beispiel noch eine, stellen Sie sich jetzt vor, Sie möchten einen Tarball auspacken:
</pre> <pre>for n in *.tar.xz; do tar -xf "$n"; done</pre> <pre>
Ich hoffe ich habe dir geholfen Verschwenden Sie nicht so viel Zeit damit, all diese Aufgaben einzeln zu erledigen, und Sie können dies anwenden, um Ihre tägliche Arbeit zu optimieren. Wie Sie sehen können, hat es kein Geheimnis, es ist super einfach ...