Bash:设置变量等于字符串替换

Bash:设置变量等于字符串替换

我试图用另一个子字符串替换 $1 中的子字符串,并将其设置为变量。

(另存为 testStringReplacement 文件)

#!/bin/bash
secondString="Sara"
myString= "${1/Suzi/$secondString}"
echo "myString = $myString"

然后当我运行这个时:

bash testStringReplacement Suzi

我明白了:

testStringReplacement: line 3: Sara: command not found
myString = 

谁能看到我做错了什么吗?我想要myString一个等于字符串替换值的字符串(在本例中,它应该设置为“Sara”)。看起来它正在执行替换,但尝试然后将其作为命令执行。

答案1

在此之后有一个空格=

myString= "${1/Suzi/$secondString}"

这将使它被解释为设置myString为空白,然后尝试运行命令${1/Suzi/$secondString}

它应该是

myString="${1/Suzi/$secondString}"

相关内容