<Trước | Nội dung | Tiếp theo>
Đọc tệp với vòng lặp
trong khi và cho đến khi có thể xử lý đầu vào tiêu chuẩn. Điều này cho phép các tệp được xử lý với các vòng lặp while và cho đến khi. Trong ví dụ sau, chúng tôi sẽ hiển thị nội dung của tệp dis- tros.txt được sử dụng trong các chương trước:
#! / bin / bash
# while-read: đọc các dòng từ tệp trong khi đọc bản phát hành phiên bản distro; làm
printf "Distro:% s \ tVersion:% s \ tReleased:% s \ n" \
$ distro \
$ phiên bản \
$ phát hành xong <distros.txt
#! / bin / bash
# while-read: đọc các dòng từ tệp trong khi đọc bản phát hành phiên bản distro; làm
printf "Distro:% s \ tVersion:% s \ tReleased:% s \ n" \
$ distro \
$ phiên bản \
$ phát hành xong <distros.txt
Để chuyển hướng một tệp đến vòng lặp, chúng tôi đặt toán tử chuyển hướng sau thực hiện tuyên bố. Vòng lặp sẽ sử dụng đọc để nhập các trường từ tệp được chuyển hướng. Các đọc lệnh sẽ thoát sau khi mỗi dòng được đọc, với trạng thái không thoát cho đến khi đạt đến phần cuối của tệp. Tại thời điểm đó, nó sẽ thoát với trạng thái thoát khác XNUMX, do đó kết thúc vòng lặp. Cũng có thể ghép đầu vào tiêu chuẩn vào một vòng lặp:
#! / bin / bash
# while-read2: đọc các dòng từ tệp
sắp xếp -k 1,1 -k 2n distros.txt | trong khi đọc bản phát hành phiên bản distro; do printf "Distro:% s \ tVersion:% s \ tReleased:% s \ n" \
$ distro \
$ phiên bản \
$ phát hành
thực hiện
#! / bin / bash
# while-read2: đọc các dòng từ tệp
sắp xếp -k 1,1 -k 2n distros.txt | trong khi đọc bản phát hành phiên bản distro; do printf "Distro:% s \ tVersion:% s \ tReleased:% s \ n" \
$ distro \
$ phiên bản \
$ phát hành
thực hiện
Ở đây chúng tôi lấy đầu ra của loại lệnh và hiển thị dòng văn bản. Tuy nhiên, điều quan trọng cần nhớ là vì một đường ống sẽ thực hiện vòng lặp trong một vỏ con, bất kỳ biến thể nào được tạo hoặc gán trong vòng lặp sẽ bị mất khi vòng lặp kết thúc.
<Trước | Nội dung | Tiếp theo>