Bash連線字串


在本小節中,將學習如何在Bash Shell指令碼中新增或連線字串。

在bash指令碼編製中,可以將兩個或多個字串新增或連線在一起,這稱為字串連線。它是任何一種程式設計語言的通用要求之一。應用特殊字元或內建函式來執行字串連線。但是,Bash不包含任何內建函式來組合字串資料或變數。在bash中執行字串連線的最簡單方法是並排寫入變數。

例如,假設有兩個字串(即"Welcome""to Yiibai"),要將這兩個字串連線在一起,然後建立了一個新字串("Welcome to Yiibai"),這種概念稱為字串連線。

語法命令

用於連線字串的命令定義為:

str3="$str1$str2"

注意:遵守上面的命令; 賦值(=)運算子之前或之後不應有任何空格。str用於指示字串。

此命令將串聯str1str2變數的值,並將其儲存在第三個變數str3中。

以下是一些說明了字串連線的不同方式的範例:

範例1:並排寫入變數連線

這是字串連線的基本範例,並且在此方法中不需要其他運算子或函式。

Bash指令碼

#!/bin/bash  
#Script to Concatenate Strings  

#Declaring the first String   
str1="We welcome you"  

#Declaring the Second String  
str2=" on Yiibai."  

#Combining first and second string  
str3="$str1$str2"  

#Printing a new string by combining both   
echo $str3

執行上面範例程式碼,得到以下結果:

範例2:使用雙引號連線

另一個方法是在字串中使用雙引號定義的變數。字串變數可以應用於字串資料的任何位置。

Bash指令碼

#!/bin/bash  
#Script to Concatenate Strings  

#Declaring String Variable  
str="We welcome you"  

#Add the variable within the string  
echo "$str on Yiibai."

執行上面範例程式碼,得到以下結果:

maxsu@yiibai:~/bashcode$ cat /dev/null > concat-string.sh 
maxsu@yiibai:~/bashcode$ vi concat-string.sh 
maxsu@yiibai:~/bashcode$ ./concat-string.sh 
We welcome you on Yiibai.

範例3:將追加運算子與迴圈一起使用連線

大多數流行的程式設計語言都支援追加運算子(+=),它是加號和等號的組合。它將新的字串新增到字串變數的末尾。

Bash指令碼

#!/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++' 'Bash';  
do  
lang+="$value "  #Combining the list values using append operator  
done  
#Printing the combined values  
echo "$lang"

執行上面範例程式碼,得到以下結果:

maxsu@yiibai:~/bashcode$ cat /dev/null > concat-string.sh 
maxsu@yiibai:~/bashcode$ vi concat-string.sh 
maxsu@yiibai:~/bashcode$ ./concat-string.sh 
Printing the name of the programming languages
java python C C++ Bash

範例4:使用Printf函式連線

在bash中,printf是用於列印和連線字串的函式。

Bash指令碼

#!/bin/bash  

str="Welcome"  
printf -v new_str "$str to Yiibai."  
echo $new_str

執行上面範例程式碼,得到以下結果:

maxsu@yiibai:~/bashcode$ cat /dev/null > concat-string.sh 
maxsu@yiibai:~/bashcode$ vi concat-string.sh 
maxsu@yiibai:~/bashcode$ ./concat-string.sh 
Welcome to Yiibai.

範例5:使用文字字串連線

字串連線也可以通過大括號{}與文字字串一起執行,使用應避免變數與文字字串混淆。

Bash指令碼

#!/bin/bash  

str="Welcome to"  

newstr="${str} Yiibai."  
echo "$newstr"

執行上面範例程式碼,得到以下結果:

maxsu@yiibai:~/bashcode$ cat /dev/null > concat-string.sh 
maxsu@yiibai:~/bashcode$ vi concat-string.sh 
maxsu@yiibai:~/bashcode$ ./concat-string.sh 
Welcome to Yiibai.

範例6:使用下劃線連線

使用下劃線在bash shell中連線字串是常見的任務之一,它主要用於為檔案分配名稱。

Bash指令碼

#!/bin/bash  

str1="Hello"  
str2="World!"  

echo "${str1}_${str2}"

執行上面範例程式碼,得到以下結果:

maxsu@yiibai:~/bashcode$ cat /dev/null > concat-string.sh 
maxsu@yiibai:~/bashcode$ vi concat-string.sh 
maxsu@yiibai:~/bashcode$ ./concat-string.sh 
Hello_World!

範例7:使用任意字元連線

Bash指令碼

#!/bin/bash  
#String Concatenation by Character (,) with User Input  

read -p "Enter First Name: " name  
read -p "Enter City: " state  
read -p "Enter Age: " age  

combine="$name,$state,$age"  

echo "Name, City, Age: $combine"

執行上面範例程式碼,得到以下結果:

Bash使用任意字符連接

字串連線是程式設計語言中生成有意義的輸出所必需的功能之一。本小節中介紹了在bash中連線字串的幾種常見的方法。