Trong bài viết này, chúng ta sẽ tìm hiểu về cơ bản của biểu thức chuỗi trong Bash.
Biểu thức chuỗi trong Bash tạo ra một dãy số nguyên hoặc ký tự bằng cách xác định một điểm bắt đầu và một điểm kết thúc của dãy. Thông thường, nó được sử dụng kết hợp với vòng lặp for.
Biểu thức Chuỗi Bash
Biểu thức chuỗi có dạng như sau:
{BẮT_ĐẦU..KẾT_THÚC[..TĂNG]}
- Biểu thức bắt đầu bằng một dấu ngoặc mở và kết thúc bằng một dấu ngoặc đóng.
- BẮT_ĐẦU và KẾT_THÚC có thể là số nguyên dương hoặc một ký tự đơn.
- Các giá trị BẮT_ĐẦU và KẾT_THÚC là bắt buộc và được phân tách bằng hai dấu chấm .., không có khoảng trống giữa chúng.
- Giá trị TĂNG là tùy chọn. Nếu có, nó phải được phân tách từ giá trị KẾT_THÚC bằng hai dấu chấm .., không có khoảng trống giữa chúng. Khi các ký tự được cung cấp, biểu thức sẽ được mở rộng theo thứ tự từ điển.
- Biểu thức mở rộng thành mỗi số hoặc ký tự giữa BẮT_ĐẦU và KẾT_THÚC, bao gồm các giá trị đã cung cấp.
- Một biểu thức không được tạo thành chính xác sẽ không thay đổi.
Dưới đây là biểu thức trong hành động:
echo {0..3}
Khi không có TĂNG được cung cấp, bước nhảy mặc định là 1:
0 1 2 3
Bạn cũng có thể sử dụng các ký tự khác. Ví dụ dưới đây in ra bảng chữ cái:
echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
Nếu giá trị BẮT_ĐẦU lớn hơn KẾT_THÚC thì biểu thức sẽ tạo ra một dãy giảm dần:
for i in {3..0}
do
echo "Number: $i"
done
Number: 3
Number: 2
Number: 1
Number: 0
Khi có TĂNG được cung cấp, nó sẽ được sử dụng làm bước nhảy giữa mỗi phần tử được tạo ra:
for i in {0..20..5}
do
echo "Number: $i"
done
Mỗi số được tạo ra lớn hơn số liền trước nó 5:
Number: 0
Number: 5
Number: 10
Number: 15
Number: 20
Khi sử dụng số nguyên để tạo ra một dãy, bạn có thể thêm một số 0 đứng trước để đảm bảo rằng mỗi số có cùng độ dài. Để thêm số 0 đứng trước các số được tạo ra, hãy thêm số 0 vào BẮT_ĐẦU và KẾT_THÚC:
for i in {00..3}
do
echo "Number: $i"
done
Number: 00
Number: 01
Number: 02
Number: 03
Biểu thức cũng có thể được tiền tố hoặc hậu tố bằng các ký tự khác:
echo A{00..3}B
A00B A01B A02B A03B
Nếu biểu thức không được xây dựng đúng, nó sẽ không thay đổi:
echo {0..}
0..
Kết Luận
Biểu thức chuỗi trong Bash cho phép bạn tạo ra một dãy số nguyên hoặc ký tự.
Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, đừng ngần ngại để lại một bình luận.