写一个shell脚本对free -m内存进行运算
时间: 2024-01-14 16:04:16 浏览: 23
下面是一个简单的 shell 脚本,用于计算 `free -m` 命令输出的内存使用情况:
```
#!/bin/bash
# 获取 free -m 命令输出的内容
output=$(free -m)
# 提取所需信息并进行计算
mem_total=$(echo "$output" | awk 'NR==2{print $2}')
mem_used=$(echo "$output" | awk 'NR==2{print $3}')
mem_free=$(echo "$output" | awk 'NR==2{print $4}')
mem_buffers=$(echo "$output" | awk 'NR==2{print $6}')
mem_cached=$(echo "$output" | awk 'NR==2{print $7}')
mem_available=$(echo "$output" | awk 'NR==3{print $2}')
mem_usage=$(echo "scale=2; $mem_used / $mem_total * 100" | bc)
# 输出计算结果
echo "总内存:$mem_total MB"
echo "已用内存:$mem_used MB"
echo "空闲内存:$mem_free MB"
echo "缓存内存:$mem_buffers MB"
echo "已缓存内存:$mem_cached MB"
echo "可用内存:$mem_available MB"
echo "内存使用率:$mem_usage%"
```
脚本中使用了 `awk` 命令来提取 `free -m` 命令输出的内容,并使用 `bc` 命令进行浮点数运算。运行脚本后,将会输出系统当前的内存使用情况信息。