Bash awk一行不打印

Bash awk一行不打印,bash,awk,Bash,Awk,我希望这能打印出abc,但每次我都一无所获 echo abc=xyz | g="$(awk -F "=" '{print $1}')" | echo $g 管道不是一组单独的任务。但是,您可以按如下方式重写当前代码: result=$( echo 'abc=xyz' | awk -F '=' '{print $1}' ) echo "$result" 然而,一个没有中间分配的更以Bash为中心的解决方案可以利用here字符串。例如: awk -F '=' '{print $1}'

我希望这能打印出abc,但每次我都一无所获

echo abc=xyz | g="$(awk  -F "=" '{print $1}')" | echo $g

管道不是一组单独的任务。但是,您可以按如下方式重写当前代码:

result=$(
    echo 'abc=xyz' | awk -F '=' '{print $1}'
)
echo "$result"
然而,一个没有中间分配的更以Bash为中心的解决方案可以利用here字符串。例如:

awk -F '=' '{print $1}' <<< 'abc=xyz'

awk-F'=''{print$1}'引用:
管道中的每个命令都在其自己的子shell中执行
。如果您只想打印:
awk-F“=”{print$1}”,请尝试
g=$(echo abc=xyz | awk-F“=”{print$1}')&&echo$g
我建议:@glennjackman这行不通,因为awk没有输入。当然会挂起来的。谢谢你指出这一点