Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Cách sử dụng lệnh vòng lặp For trong Bash

Một trong những cách tốt nhất để làm cho cuộc sống dễ dàng hơn với công nghệ, चाहे ở công việc hay tại nhà, là tận dụng tự động hóa. Tự động hóa tác vụ với script và công việc theo lịch là cách chắc chắn để tiết kiệm thời gian, đau đầu, và công sức. Tuy nhiên, không ngay lập tức rõ ràng từ đâu bắt đầu. Ở đây chúng tôi chỉ cho bạn cách sử dụng lệnh vòng lặp for trong Bash, một trong những công cụ nền tảng trong tự động hóa CNTT, để giúp bạn bắt đầu.

Thiết lập môi trường kiểm thử

Điều đầu tiên bạn cần là một phiên bản Bash hoạt động. Đây là shell mặc định trong Terminal trên Linux, Unix, BSD, và macOS (trừ khi bạn chạy zsh). Bạn có thể kiểm tra shell bạn đang chạy bằng cách gõ lệnh sau vào terminal:

echo $SHELL

Nó sẽ in ra shell bạn đang dùng. Đầu ra của tôi cho thấy tôi đang dùng /bin/bash, chính xác những gì tôi tìm kiếm.

Cách sử dụng lệnh vòng lặp For trong Bash

Bạn cũng cần một trình soạn thảo văn bản — bất kỳ trình soạn thảo nào bạn chọn đều ổn. Tôi dùng Nano trong terminal, nhưng bạn cũng có thể dùng Vim hoặc Emacs trong terminal hoặc thứ gì đó như Gedit, Kate, hoặc Sublime trong GUI.

Tạo file script trong trình soạn thảo, hoặc bằng lệnh touch hoặc chỉ gõ tên trình soạn thảo và tên file bạn muốn tạo. Đối với tôi, tôi chỉ cần gõ nano for-loop-test.sh, và tôi đã sẵn sàng.

Vòng lặp For trong Bash: Cơ bản

Vòng lặp For trong Bash nói cho shell lặp lại qua một phạm vi đối tượng được chỉ định và thực thi một lệnh được chỉ định trên những đối tượng đó. Điều đó có nghĩa là gì? Tôi nghĩ dễ hơn là cho bạn xem. Đây là một vòng lặp For rất cơ bản.

Cách sử dụng lệnh vòng lặp For trong Bash

Dòng đầu tiên, for i in 1 2 3 4 5 chỉ định biến "i" và phạm vi 1 đến 5. Điều này cũng dễ dàng có thể là một chuỗi số phức tạp hơn, hoặc danh sách tệp nhập vào đó hoặc một thư mục.

Phần tiếp theo là định dạng cơ bản, với lệnh sẽ được thực thi ở phần thụt lề. do và done là phần của cú pháp vòng lặp For và phải có mặt. Nếu tôi chạy script này, tôi sẽ nhận được đầu ra như sau:

Test round 1
Test round 2
Test round 3
Test round 4
Test round 5

Cách sử dụng lệnh vòng lặp For trong Bash

Bạn có thể thấy biến đó hoạt động như thế nào. Nó giúp bạn xác định từng đối tượng riêng lẻ trong phạm vi đầu vào đó. Để chỉ định phạm vi số phức tạp hơn một chút, bạn có thể dùng ngoặc nhọn để thiết lập chúng. Để chỉ định cùng phạm vi từ trước, bạn có thể thay for $i in 1 2 3 4 5 thành for $i in {1..5}. Đầu ra sẽ giống nhau. Bạn cũng có thể cho nó đếm theo các số nhất định. Ví dụ này đếm tất cả các số theo 3 giữa 0 và 27.

Cách sử dụng lệnh vòng lặp For trong Bash

Cách sử dụng lệnh vòng lặp For trong Bash

Điều phổ biến hơn trong script là thực thi một lệnh cụ thể trên một đống tệp. Nếu tôi muốn dùng cat trên một đống tệp trong thư mục, tôi có thể làm điều đó bằng cách thay đổi script như sau.

Cách sử dụng lệnh vòng lặp For trong Bash

Điều này sẽ in đầu ra của tất cả tệp trong "test-directory" ra terminal.

Cách sử dụng lệnh vòng lặp For trong Bash

Đầu ra sẽ trông như sau trong trường hợp của tôi.

Cách sử dụng lệnh vòng lặp For trong Bash

Bạn có thể bắt đầu hình dung được vòng lặp For mạnh mẽ đến mức nào. Đây mới chỉ bề mặt, và bạn có thể nối nhiều lệnh lại với nhau giữa do và done, và cũng có thể dùng câu lệnh điều kiện để làm cho lệnh phức tạp hơn.

Đừng quên xem các bài viết Bash khác của chúng tôi, như Bash Tips and Tricks để làm việc thông minh hơn trong Terminal và một số ký tự đặc biệt Bash bạn nên biết.