Bash scripting: các vòng lặp để tự động hóa các công việc hàng ngày

kịch bản bash

Bạn chắc chắn đã đi qua một số nhiệm vụ mà bạn phải làm nhiều lần. Ví dụ: hãy tưởng tượng rằng bạn có một thư mục chứa đầy các tệp và bạn muốn thay đổi tên của tất cả chúng hoặc bạn cần nén một số tệp hoặc giải nén chúng, có lẽ bạn cần chuyển đổi từ định dạng này sang định dạng khác, sao lưu định kỳ, Vân vân. Tập lệnh có giải pháp cho tất cả điều này.

Các tác vụ này khi được áp dụng cho một tệp duy nhất trong Bash là ổn. Vấn đề là khi bạn phải áp dụng nó cho hàng tá chúng. Bài tập về nhà có thể rất khó chịu. Với một vòng lặp đơn giản trong Bash, bạn có thể thoát khỏi vấn đề đó và có một nhiệm vụ chạy lặp đi lặp lại để tự động hóa nó và không tốn quá nhiều công sức. Cách làm siêu đơn giản nhưng nhiều người dùng mới không làm được và cuối cùng phải làm thủ công hoặc tìm kiếm các chương trình đồ họa thực hiện ...

Đối với điều này, gắn bó với cấu trúc này:

for x in objetivo; do comando; done

qua ejemploGiả sử bạn muốn xóa các tệp có tên name0, name1, name2, name3, v.v., cho đến tên số 100. Đi từng cái một với rm sẽ khá tẻ nhạt, thay vào đó bạn có thể chạy lệnh sau:

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

Hoặc có thể tưởng tượng rằng bạn có một thư mục chứa nhiều tệp .zip nén mà bạn muốn giải nén. Để tránh phải đi từng cái một, bạn có thể sử dụng:

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

Anh thay đổi các vòng lặp này vì bạn muốn sử dụng công cụ bạn cần trong trường hợp của mình. Ví dụ, một ví dụ khác, bây giờ hãy tưởng tượng bạn muốn giải nén một tarball:

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

Tôi hy vọng tôi đã giúp không lãng phí quá nhiều thời gian để làm từng công việc một và bạn có thể áp dụng điều này để sắp xếp công việc hàng ngày của mình. Như bạn có thể thấy, nó không có gì bí ẩn, nó rất đơn giản ...


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.