Bash 脚本 - 连接字符串
在本文中,我们将看到 bash 脚本中字符串的连接。
将两个或多个字符串连接在一起称为字符串连接。 Bash 没有任何内置函数来对字符串数据或变量执行连接。我们可以使用多种方法在 bash 中执行字符串的连接,它们是:
方法一:并排写变量
这是执行连接的最简单方法。
示例:让我们取两个字符串(即“welcome”和“to geeksforgeeks”),我们想要返回一个新字符串,它是给定两个字符串的组合。
代码:
#!/bin/bash
# Script to Concatenate Strings
# Declaration of first String
str1="Welcome"
# Declaration of Second String
str2=" to GeeksforGeeks."
# Combining first and second string
str3="$str1$str2"
# print the concatenated string
echo $str3
输出:
Welcome to GeeksforGeeks.
方法 2:使用双引号
它也是执行连接的简单方法之一。此方法使用字符串中的变量,该变量用双引号定义。使用这种方法的好处是我们可以在字符串数据的任意位置连接字符串变量。
示例:让我们连接两个字符串(即“to”和“Welcome geeksforgeeks”),使其返回结果为“Welcome to GeeksforGeeks”。
代码:
#!/bin/bash
# Concatenate Strings
# Declaration of String Variable
str="to"
# Add the variable within the string
echo "Welcome $str GeeksforGeeks."
输出:
Welcome to GeeksforGeeks.
方法三:使用 printf函数
printf 是 bash 中的一个函数,用于打印和连接字符串。
句法:
printf -v new_str “$str string_to_concatenate.”
此命令将连接双引号内的数据并将新字符串存储到 new_str 变量中。在这种方法中,我们还可以在任何位置连接字符串变量。
示例:让我们连接两个字符串(即“to”和“Welcome geeksforgeeks”),使其返回结果为“Welcome to GeeksforGeeks”。
代码:
#!/bin/bash
str="to"
printf -v new_str "Welcome $str GeeksforGeeks."
echo $new_str
输出:
Welcome to GeeksforGeeks.
方法 4:使用字面量字符串
在此方法中,使用花括号{} 与字面量字符串执行连接。它的使用方式应使变量不会与字面量字符串混淆。
让我们连接两个字符串(即,“to”和“Welcome geeksforgeeks”),使其返回结果为“Welcome to GeeksforGeeks”。
代码:
#!/bin/bash
str="to"
# concatenation of strings
new="Welcome ${str} GeeksforGeeks."
echo "$new"
输出:
Welcome to GeeksforGeeks.
方法 5:使用循环
当我们必须连接列表中存在的字符串时使用此方法。
句法:
newstr=" "
for value in list;
do
# Combining the list values using append operator
Newstr+="$value "
done
例子
代码:
lang=""
# for loop for reading the list
for value in 'Welcome ''to ''GeeksforGeeks''!!';
do
# Combining the list values using append operator
lang+="$value "
done
# Printing the combined values
echo "$lang"
输出:
Welcome to GeeksforGeeks!!
方法6:使用任何字符
如果我们想连接由某些字符分隔的字符串,我们使用这种方法。这类似于并排编写变量。
在这种方法中,我们将变量与字符并排写入。
示例:让我们连接用逗号(,)分隔的字符串('Apple'、'Mango'、'Guava'、'Orange')。
代码:
str1="Apple"
str2="Mango"
str3="Guava"
str4="Orange"
# concatenate string using ','
echo "$str1,$str2,$str3,$str4"
输出:
Apple,Mango,Guava,Orange