从 AWK 读取变量时出现问题

Tes*_*sly 5 pipe shell-script

我正在尝试通过此命令获取内存信息:

#!/bin/bash
set -x
cat /proc/meminfo | grep "MemFree" | tail -n 1 | awk '{ print $2 $4 }' | read numA numB
echo $numA
Run Code Online (Sandbox Code Playgroud)

我明白了

+ awk '{ print $2 $4 }'
+ read numA numB
+ tail -n 1
+ grep MemFree
+ cat /proc/meminfo
+ echo
Run Code Online (Sandbox Code Playgroud)

我尝试将这些数据读取到变量中但没有成功。我的问题是如何将其读取为变量?我想读取有多少内存可用,例如:90841312 KB

Val*_*ami 4

您可以使用read并简单地执行以下操作

while read -r memfree
  do printf '%s\n' "$memfree"
  done < <(awk -F: '/MemFree/{print $2}' /proc/meminfo)
Run Code Online (Sandbox Code Playgroud)