在 Bash 中将多个用户输入添加到一个变量中

M.A*_*eem 4 unix linux bash

我对 unix bash 脚本很陌生,需要知道这是否可行。我想多次询问用户的输入,然后将该输入存储到一个变量中。

userinputs=   #nothing at the start

read string
<code to add $string to $userinputs>
read string
<code to add $string to $userinputs> #this should add this input along with the other input
Run Code Online (Sandbox Code Playgroud)

因此,如果用户在第一次询问时输入“abc”,则会在 $userinputs 中添加“abc”

然后当再次询问输入并且用户输入“123”时,脚本应将其存储在相同的 $userinputs 中

这将使 $userinput=abc123

cod*_*ter 5

在 Bash 中连接两个字符串的常用方法是:

new_string="$string1$string2"
Run Code Online (Sandbox Code Playgroud)

{} 仅当我们有一个可以阻碍变量扩展的文字字符串时,才需要在变量名称周围:

new_string="${string1}literal$string2"
Run Code Online (Sandbox Code Playgroud)

而不是

new_string="$string1literal$string2"
Run Code Online (Sandbox Code Playgroud)

您还可以使用+=运算符:

userinputs=
read string
userinputs+="$string"
read string
userinputs+="$string"
Run Code Online (Sandbox Code Playgroud)

$string在这种情况下,双引号是可选的。


也可以看看: