String 将整数作为字符串添加到变量bash

String 将整数作为字符串添加到变量bash,string,bash,int,String,Bash,Int,我想通过向变量添加随机整数来创建字符串,从而输出字符串。然而,Bash只是将这些数字相加 #!/bin/bash b="" for ((x=1; x<=3; x++)) do number=$RANDOM let number%=9 let b+=$number done echo ${b} #/bin/bash b=“” 对于((x=1;x有几种可能实现您所期望的行为。让我们首先检查一下您所做的: let b+=$number 正在运行帮助让: let: let ARGUMEN

我想通过向变量添加随机整数来创建字符串,从而输出字符串。然而,Bash只是将这些数字相加

#!/bin/bash
b=""
for ((x=1; x<=3; x++))
do
 number=$RANDOM
 let number%=9
 let b+=$number
done
echo ${b}
#/bin/bash
b=“”

对于((x=1;x有几种可能实现您所期望的行为。让我们首先检查一下您所做的:

let b+=$number
正在运行帮助让

let: let ARGUMENT...
    Evaluate arithmetic expressions.
这解释了为什么
让b+=$number
$number
执行整数加法(
1
2
3
),而不是字符串串联

只需删除
let
,就会出现所需的行为
1
11
111

执行字符串连接的另一种方法:

b="$b$number"
是的,只需“让
b
成为连接
b
number
的结果”


作为旁注,
b=“”
相当于
b=
,因为
被扩展为空字符串。变量上的模块操作可以通过算术展开来完成:
number=$(RANDOM%9))

您也可以这样做算术展开:
((number=RANDOM%9))