Tạo một tệp bash có tên là ‘ for_list1.sh 'Và thêm tập lệnh sau. Giá trị chuỗi có khoảng trắng được sử dụng trong vòng lặp for. Theo mặc định, giá trị chuỗi được phân tách bằng dấu cách. Vòng lặp For sẽ chia chuỗi thành các từ và in ra từng từ bằng cách thêm một dòng mới.
#! / bin / bash
# Đọc một chuỗi có khoảng trắng bằng vòng lặp for
vìgiá trịtrongTôi thích lập trình
làm
quăng đi giá trị $
xong
Đầu ra:
$bấu víufor_list1.sh
Ví dụ-2: Lặp lại một biến chuỗi bằng vòng lặp for
Tạo một tệp bash có tên là ‘ for_list2.sh 'Và thêm tập lệnh sau. Gán một văn bản vào biến, StringVal và đọc giá trị của biến này bằng vòng lặp for. Ví dụ này cũng sẽ hoạt động giống như ví dụ trước và chia giá trị của biến thành các từ dựa trên khoảng trắng.
#! / bin / bash
# Xác định một biến chuỗi với một giá trị
StringVal='Chào mừng đến với linuxhint'
# Lặp lại biến chuỗi bằng vòng lặp for
vìgiờtrong $ StringVal;làm
quăng đi $ giờ
xong
Đầu ra:
$bấu víufor_list2.sh
Ví dụ-3: Lặp lại một mảng các giá trị chuỗi
Tạo một tệp bash có tên là ‘ for_list3.sh 'Và thêm tập lệnh sau. Một mảng các giá trị chuỗi được khai báo với kiểu trong tập lệnh này. Hai giá trị trong mảng chứa khoảng trắng là Linux Mint và Red Hat Linux . Tập lệnh này sẽ tạo ra đầu ra bằng cách tách các giá trị này thành nhiều từ và in ra dưới dạng giá trị riêng biệt. Nhưng đây không phải là đầu ra thích hợp. Giải pháp của loại vấn đề này được trình bày trong ví dụ tiếp theo.
#! / bin / bash# Khai báo một mảng chuỗi với kiểu
tuyên bố -đến StringArray=('Linux Mint' 'Fedora' 'Red Hat Linux' 'Ubuntu' 'Debian' )
# Lặp lại mảng chuỗi bằng vòng lặp for
vìgiờtrong $ {StringArray [@]};làm
quăng đi $ giờ
xong
Đầu ra:
$bấu víufor_list3.sh
Ví dụ-4: In giá trị chuỗi nhiều từ dưới dạng một giá trị duy nhất
Tạo một tệp bash có tên là ‘ for_list4.sh 'Và thêm tập lệnh sau. Trong ví dụ này, mọi phần tử của biến mảng, StringArray chứa các giá trị của hai từ. Để in từng giá trị mà không cần chia nhỏ và giải quyết vấn đề của ví dụ trước, bạn chỉ cần đặt biến mảng bằng dấu ngoặc kép trong vòng lặp for.
#! / bin / bash# Khai báo một mảng chuỗi với kiểu
tuyên bố -đến StringArray=('Windows XP' 'Windows 10' 'Windows ME' 'Windows 8.1'
'Windows Server 2016' )
# Đọc các giá trị mảng với khoảng trắng
vìgiờtrong '$ {StringArray [@]}';làm
quăng đi $ giờ
xong
Đầu ra:
$bấu víufor_list4.sh
Ví dụ-5: Lặp lại các giá trị chuỗi của một mảng bằng cách sử dụng ‘*’
Tạo một tệp bash có tên là ‘ for_list5.sh 'Với mã sau. Ở đây, ký hiệu ‘*’ được sử dụng để đọc tất cả các giá trị chuỗi của mảng. Vòng lặp for đầu tiên được sử dụng để hiển thị các giá trị mảng trong nhiều dòng và vòng lặp for thứ hai được sử dụng để hiển thị các giá trị mảng trong một dòng duy nhất.
#! / bin / bash#Declare một mảng chuỗi
LanguageArray=('PHP' 'Java' 'NS #' 'C ++' 'VB.Net' 'Python' 'Perl')
# In giá trị mảng theo dòng
quăng đi 'In mọi phần tử trong dòng mới'
vìval1trong $ {LanguageArray [*]};làm
quăng đi $ val1
xong
quăng đi ''
# In các giá trị mảng trong một dòng
quăng đi 'In tất cả các phần tử trong một dòng duy nhất'
vìval2trong '$ {LanguageArray [*]}';làm
quăng đi $ val2
xong
quăng đi ''
Đầu ra:
$bấu víufor_list5.sh
Ví dụ-6: Lặp lại các giá trị chuỗi được phân tách bằng dấu phẩy
Tạo một tệp bash mới có tên là ‘ for_list6.sh ’ với đoạn mã sau. Ở đây, dấu phẩy (,) được sử dụng để phân chia các giá trị chuỗi. IFS biến được sử dụng để đặt dấu phân cách trường.
#! / bin / bashDanh sách dữ liệu='HTML5, CCS3, BootStrap, JQuery'
Field_Separator=$ IFS
# đặt dấu phẩy làm dấu phân tách trường nội bộ cho danh sách chuỗi
IFS=,
vìgiờtrong $ DataList;
làm
quăng đi $ giờ
xong
IFS=$ Field_Separator
Đầu ra:
$bấu víufor_list6.sh
Ví dụ-7: Đọc nhiều mảng chuỗi cùng nhau
Tạo một tệp bash có tên là ‘ for_list7.sh 'Và thêm tập lệnh sau. Trong ví dụ này, hai mảng chuỗi được xác định và kết hợp thành một mảng khác. Vòng lặp for bên ngoài được sử dụng để đọc mảng kết hợp và vòng lặp for bên trong được sử dụng để đọc từng mảng bên trong.
#! / bin / shstr_array1=('Magento 2.2.4' 'WooCommerce')
str_array2=('CodeIgnitor' 'Laravel')
phối hợp=(str_array1 str_array2)
vìquản lýtrong $ {kết hợp [@]}
làm
đánh giá 'for val in' $ {'$ arrItem'[@]}'; làm echo '$ val'; xong '
xong
Đầu ra:
$bấu víufor_list7.sh
Ví dụ-8: Sử dụng mẫu để đọc danh sách các chuỗi
Tạo một tệp bash mới có tên for_list8.sh với đoạn mã sau. Ở đây, ‘/, /’ mẫu được sử dụng để phân chia các giá trị chuỗi dựa trên dấu phẩy.
#! / bin / sh# Xác định danh sách biến chuỗi
stringList= WordPress, Joomla, Magento
# Sử dụng dấu phẩy làm dấu phân cách và áp dụng làm mẫu
vìgiờtrong $ {stringList //, /}
làm
quăng đi $ giờ
xong
Đầu ra:
$bấu víufor_list8.sh
Hy vọng, các ví dụ của hướng dẫn này sẽ giúp bạn hiểu cách sử dụng vòng lặp for để lặp lại danh sách các chuỗi, đối với video về chủ đề này, hãy xem bên dưới: