Shell 从grep分配一个变量

Shell 从grep分配一个变量,shell,grep,Shell,Grep,我试图用从grep获得的值分配一个变量,这是我的代码 a="i am a string " b="$a"|grep am echo "$b" 我希望结果是am,但结果b是空的。但是当我直接编码echo“$a”| grep am时,我得到了正确的结果。为什么以及如何将结果分配给b 这样做:- **b=$(echo“$a”| grep am) **b=$(echo“$a”| grep am)

我试图用从grep获得的值分配一个变量,这是我的代码

a="i 
am
a
string
"
b="$a"|grep am
echo "$b"
我希望结果是
am
,但结果
b
是空的。但是当我直接编码
echo“$a”| grep am
时,我得到了正确的结果。为什么以及如何将结果分配给b

这样做:-

**
b=$(echo“$a”| grep am)
**
b=$(echo“$a”| grep am)