我试图用另一个子字符串替换 $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}"