BASH命令:如何将BASH命令的输出保存到变量中,然后通过管道保存到命令中

BASH命令:如何将BASH命令的输出保存到变量中,然后通过管道保存到命令中,bash,Bash,我有一个问题,关于如何将输出存储到变量中,然后通过管道传输到另一个命令中 var=$(ps -auxc | grep -vE '^USER' ) #get top CPU echo $var | sort -nr -k3 | head -1 #get top memory echo $var | sort -nr -k4 | head -1 我不确定这是否始终有效: IFS= read -rd '' var < <(ps -auxc | grep -vE '^USER'

我有一个问题,关于如何将输出存储到变量中,然后通过管道传输到另一个命令中

var=$(ps -auxc | grep -vE '^USER'  )

#get top CPU 
echo $var |  sort -nr -k3 | head -1  
#get top memory
echo $var | sort -nr -k4 | head -1

我不确定这是否始终有效:

IFS= read -rd '' var < <(ps -auxc | grep -vE '^USER')  ## -d '' may be -d $'\0'
echo -n "$var" | sort -nr -k3 | head -1  

确保在赋值和访问变量时使用引号:

var="$(ps -auxc | grep -vE '^USER')"

#get top CPU 
sort -nr -k3 <<< "$var" | head -1  
#get top memory
sort -nr -k4 <<< "$var" | head -1
var=“$(ps-auxc | grep-vE'^USER')”
#获得顶级CPU

sort-nr-k3这里的问题是什么?我不认为在作业中使用
会有什么不同。但是,如果用户对最后一个新行不太敏感,因为<代码> $()总是把它删掉。“KONSOLBOX:是的,这是正确的,而分配<代码>”可能不是必要的。@ USSR221571:考虑接受您喜欢的任何答案。
var="$(ps -auxc | grep -vE '^USER')"

#get top CPU 
sort -nr -k3 <<< "$var" | head -1  
#get top memory
sort -nr -k4 <<< "$var" | head -1