다음 명령으로 메모리 정보를 얻으려고 합니다.
#!/bin/bash
set -x
cat /proc/meminfo | grep "MemFree" | tail -n 1 | awk '{ print $2 $4 }' | read numA numB
echo $numA
알겠어요
+ awk '{ print $2 $4 }'
+ read numA numB
+ tail -n 1
+ grep MemFree
+ cat /proc/meminfo
+ echo
나는 성공하지 못한 채 이 데이터를 변수로 읽어들이려고 했습니다. 내 질문은 그것을 변수로 읽는 방법입니다. 사용 가능한 메모리 양을 읽고 싶습니다(예: 90841312KB).
답변1
read
다음을 사용하고 간단히 수행할 수 있습니다.
while read -r memfree
do printf '%s\n' "$memfree"
done < <(awk -F: '/MemFree/{print $2}' /proc/meminfo)
답변2
단일 값을 각 변수에 직접 저장해 보세요. 다음 플래그를 사용하여 제거 cat
하고 파이프할 수도 있습니다.tail
-m
grep
numA=$(grep -m 1 "MemFree" /proc/meminfo | awk '{ print $2 }')
numB=$(grep -m 1 "MemFree" /proc/meminfo | awk '{ print $3 }')
echo $numA $numB