gpt4 book ai didi

打印可用内存和总内存的 Linux 基本脚本

转载 作者:太空宇宙 更新时间:2023-11-04 10:07:53 24 4
gpt4 key购买 nike

我正在尝试自学一些基本脚本,但无法正确使用 awk 命令。我想通过 free -m 命令显示以 MB 为单位的当前可用内存和总内存。但是,我不断收到我将在下面发布的错误。为什么是这样?

系统观察:

#!/bin/bash

# Use free command to show current free and total memory available in MB

free -m | awk `{print "Free/Total Memory : $3 / $1 MB"}`

输出/错误:

[root@testit /root]# ./syswatch
./syswatch: {print: command not found
Usage: awk [POSIX or GNU style options] -f progfile [--] file ...
awk [POSIX or GNU style options] [--] 'program' file ...
POSIX options: GNU long options:
-f progfile --file=progfile
-F fs --field-separator=fs
-v var=val --assign=var=val
-m[fr] val
-W compat --compat
-W copyleft --copyleft
-W copyright --copyright
-W help --help
-W lint --lint
-W lint-old --lint-old
-W posix --posix
-W re-interval --re-interval
-W source=program-text --source=program-text
-W traditional --traditional
-W usage --usage
-W version --version

To report bugs, see node `Bugs' in `gawk.info', which
is section `Reporting Problems and Bugs' in the
printed version.

预期输出:

Free/Total Memory : 133/190 MB

最佳答案

看来你想要百分比

free -m | sed 1d | awk '{print "Free/Total Memory ", $1, " ", $3 /  $2}'

你的问题

  • 您正在使用反引号(用于执行子 shell)
  • 您还在评估 free 输出的标题:sed 1d 删除第一行
  • 您分错了列:$1 是内存类型,$2 是总数,$3 是已用内存

如果 / 符号不是除法(请参阅您的评论)则

free -m | sed 1d | awk '{printf "Free/Total Memory %s %s/%sMB\n", $1, $3, $2}'

关于打印可用内存和总内存的 Linux 基本脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51039780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com