在本小节中,将学习如何在Bash Shell脚本中添加或连接字符串。
在bash脚本编制中,可以将两个或多个字符串添加或连接在一起,这称为字符串连接。它是任何一种编程语言的通用要求之一。应用特殊字符或内置函数来执行字符串连接。但是,Bash不包含任何内置函数来组合字符串数据或变量。在bash中执行字符串连接的最简单方法是并排写入变量。
例如,假设有两个字符串(即"Welcome"
和"to zyiz"
),要将这两个字符串连接在一起,然后创建了一个新字符串("Welcome to zyiz"
),这种概念称为字符串连接。
用于连接字符串的命令定义为:
str3="$str1$str2"
注意:遵守上面的命令; 赋值(
=
)运算符之前或之后不应有任何空格。str
用于指示字符串。
此命令将串联str1
和str2
变量的值,并将其存储在第三个变量str3
中。
以下是一些说明了字符串连接的不同方式的示例:
这是字符串连接的基本示例,并且在此方法中不需要其他运算符或函数。
Bash脚本
#!/bin/bash #Script to Concatenate Strings #Declaring the first String str1="We welcome you" #Declaring the Second String str2=" on zyiz." #Combining first and second string str3="$str1$str2" #Printing a new string by combining both echo $str3
执行上面示例代码,得到以下结果:
另一个方法是在字符串中使用双引号定义的变量。字符串变量可以应用于字符串数据的任何位置。
Bash脚本
#!/bin/bash #Script to Concatenate Strings #Declaring String Variable str="We welcome you" #Add the variable within the string echo "$str on zyiz."
执行上面示例代码,得到以下结果:
maxsu@zyiz:~/bashcode$ cat /dev/null > concat-string.sh maxsu@zyiz:~/bashcode$ vi concat-string.sh maxsu@zyiz:~/bashcode$ ./concat-string.sh We welcome you on zyiz.
大多数流行的编程语言都支持追加运算符(+=
),它是加号和等号的组合。它将新的字符串添加到字符串变量的末尾。
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@zyiz:~/bashcode$ cat /dev/null > concat-string.sh maxsu@zyiz:~/bashcode$ vi concat-string.sh maxsu@zyiz:~/bashcode$ ./concat-string.sh Printing the name of the programming languages java python C C++ Bash
在bash中,printf
是用于打印和连接字符串的函数。
Bash脚本
#!/bin/bash str="Welcome" printf -v new_str "$str to zyiz." echo $new_str
执行上面示例代码,得到以下结果:
maxsu@zyiz:~/bashcode$ cat /dev/null > concat-string.sh maxsu@zyiz:~/bashcode$ vi concat-string.sh maxsu@zyiz:~/bashcode$ ./concat-string.sh Welcome to zyiz.
字符串连接也可以通过大括号{}
与文字字符串一起执行,使用应避免变量与文字字符串混淆。
Bash脚本
#!/bin/bash str="Welcome to" newstr="${str} zyiz." echo "$newstr"
执行上面示例代码,得到以下结果:
maxsu@zyiz:~/bashcode$ cat /dev/null > concat-string.sh maxsu@zyiz:~/bashcode$ vi concat-string.sh maxsu@zyiz:~/bashcode$ ./concat-string.sh Welcome to zyiz.
使用下划线在bash shell中连接字符串是常见的任务之一,它主要用于为文件分配名称。
Bash脚本
#!/bin/bash str1="Hello" str2="World!" echo "${str1}_${str2}"
执行上面示例代码,得到以下结果:
maxsu@zyiz:~/bashcode$ cat /dev/null > concat-string.sh maxsu@zyiz:~/bashcode$ vi concat-string.sh maxsu@zyiz:~/bashcode$ ./concat-string.sh Hello_World!
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中连接字符串的几种常见的方法。