我确定这很简单。但是,它对我不起作用。请问我做错了什么愚蠢的事?我正在运行以下shell脚本,如下所示:
bash test1.sh
代码如下:
#!/bin/bash
bluesman_a="Magic Slim"
bluesman_b=($echo "$bluesman_a" | sed "/s/Slim/Sam/")
echo $bluesman_b
我得到:
syntax error near unexpected token `|'
感谢您的时间
答案 0 :(得分:1)
您需要使用"$(...)"
来包装命令以将输出分配给变量,并且需要删除/
替换命令中的第一个sed
。另外,您无需使用echo
将变量传递给sed
。
bluesman_b="$(sed 's/Slim/Sam/' <<< "$bluesman_a")"
或者,一次将Slim
替换为Sam
,请使用
bluesman_b="${bluesman_a/Slim/Sam}"