Thursday, November 21, 2024

[Bash] Lesson 24 – Kết hợp chuỗi trong Bash

-

Kết hợp chuỗi trong Bash
Trong chủ đề này, chúng ta sẽ giải thích cách thêm hoặc kết hợp các chuỗi trong Bash Shell Scripting.

Trong kịch bản lập trình Bash, chúng ta có thể thêm hoặc kết hợp hai hoặc nhiều chuỗi với nhau, điều này được gọi là nối chuỗi. Đây là một trong những yêu cầu thông thường cho bất kỳ ngôn ngữ lập trình nào. Một ký tự đặc biệt hoặc hàm tích hợp được áp dụng để thực hiện nối chuỗi. Tuy nhiên, Bash không chứa bất kỳ hàm tích hợp nào để kết hợp dữ liệu chuỗi hoặc biến. Phương pháp đơn giản nhất để thực hiện nối chuỗi trong bash là viết các biến cạnh nhau.

Ví dụ, giả sử chúng ta có hai chuỗi (tức là “welcome” và “to javatpoint”), và chúng ta nối cả hai chuỗi lại với nhau và tạo ra một chuỗi mới (“welcome to javatpoint”). Khái niệm này được gọi là Nối chuỗi.

Lệnh
Lệnh ví dụ để nối các chuỗi có thể được xác định như sau:

str3="$str1$str2"  

Chú ý: Quan sát lệnh trên; không nên có khoảng trống trước hoặc sau toán tử gán (=). ‘str’ được sử dụng để chỉ định chuỗi. Lệnh này sẽ nối các giá trị của str1 và str2 lại với nhau và lưu trữ vào một biến thứ ba là str3.

Dưới đây là một số ví dụ minh họa các cách khác nhau của nối chuỗi:

Ví dụ 1: Viết các biến cạnh nhau Đây là ví dụ cơ bản về Nối chuỗi, và chúng ta không cần bất kỳ toán tử hoặc hàm nào khác trong phương pháp này.

#!/bin/bash  
#Script to Concatenate Strings  
  
#Declaring the first String   
str1="We welcome you"  
  
#Declaring the Second String  
str2=" on Javatpoint."  
  
#Combining first and second string  
str3="$str1$str2"  
  
#Printing a new string by combining both   
echo $str3  

Kết quả

We welcome you on Javatpoint.

Ví dụ 2: Sử dụng Double Quotes

Một phương pháp khác là sử dụng biến trong chuỗi, được định nghĩa với dấu ngoặc kép. Biến chuỗi có thể được áp dụng ở bất kỳ vị trí nào của dữ liệu chuỗi.

#!/bin/bash  
#Script to Concatenate Strings  
  
#Declaring String Variable  
str="We welcome you"  
  
#Add the variable within the string  
echo "$str on Javatpoint."  

Ví dụ 3: Sử dụng toán tử nối chuỗi với vòng lặp

Hầu hết các ngôn ngữ lập trình phổ biến cung cấp hỗ trợ cho toán tử nối chuỗi (+=) là sự kết hợp của ký hiệu cộng và dấu bằng. Nó sẽ thêm các chuỗi mới vào cuối biến chuỗi.

#!/bin/bash  
echo "Printing the name of the programming languages"  
#Initializing the variable before combining  
lang=""  
#for loop for reading the list  
for value in 'java''python''C''C++';  
do  
lang+="$value "  #Combining the list values using append operator  
done  
#Printing the combined values  
echo "$lang"  

Kết quả

Ví dụ 4: Sử dụng hàm Printf

Trong bash, printf là một hàm được sử dụng để in và nối các chuỗi.

#!/bin/bash  
  
str="Welcome"  
printf -v new_str "$str to Javatpoint."  
echo $new_str  

Kết quả

Welcome to Javatpoint.

Ví dụ 5: Sử dụng chuỗi chữ không phải biến

Nối chuỗi cũng có thể được thực hiện với chuỗi chữ không phải biến bằng cách sử dụng các dấu ngoặc nhọn {}. Chúng nên được sử dụng sao cho biến không bị pha trộn với chuỗi chữ không phải biến.

#!/bin/bash  
  
str="Welcome to"  
  
newstr="${str} Javatpoint."  
echo "$newstr"  

Kết quả

Welcome to Javatpoint.

Ví dụ 6: Sử dụng dấu gạch dưới

Sử dụng dấu gạch dưới để nối chuỗi trong bash shell là một trong những tác vụ phổ biến. Thường được sử dụng để đặt tên cho các file.

#!/bin/bash  
  
str1="Hello"  
str2="World!"  
  
echo "${str1}_${str2}"  

Kết quả

Hello_World!

Ví dụ 7: Sử dụng bất kỳ ký tự nào.

#!/bin/bash  
#String Concatenation by Character (,) with User Input  
  
read -p "Enter First Name: " name  
read -p "Enter State: " state  
read -p "Enter Age: " age  
  
combine="$name,$state,$age"  
  
echo "Name, State, Age: $combine"  

Kết quả

Kết luận

Việc ghép chuỗi là một trong những tính năng cần thiết trong các ngôn ngữ lập trình để tạo ra đầu ra có ý nghĩa. Hầu hết các cách có thể để nối các chuỗi trong bash đã được giải thích trong chủ đề này.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories