Linux 命令动态将 GB 转换为 MB

标签 linux shell

我需要编写一个脚本来显示总交换大小、已用交换大小和已用百分比。

以下是我正在使用的命令。

pgsize=`swapon | tail -1 | awk '{print $3}'`

pgused=`swapon | tail -1 | awk '{print $4}'`

pgpercent=$(($pgused * 100/ $pgsize))

命令的输出是 pgsize = 16G pgused = 22M pgpercent - 我在这一行中收到以下错误

22M:对于基值而言太大(错误标记为“22M”)

这里我需要怎么把22M转成22,16G转成16*1024再分。例如。 (22*100)/(16*1024)

最佳答案

打印 swapon 列出的最后一个交换区域的使用百分比:

swapon --bytes --show=USED,SIZE | awk 'END{print 100*$1/$2}'

将其保存在变量中:

ppgpercent=$(/sbin/swapon --bytes --show=USED,SIZE | awk 'END{print 100*$1/$2}')

关于Linux 命令动态将 GB 转换为 MB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48818154/

相关文章:

shell - zsh 中的 cd 显示错误的 cwd 名称(~变量)

macos - OS X 终端颜色

java - 如何使用 Java 在远程机器上执行 Linux 命令?

linux - 在 Raspberry Pi (CP210X) 上更新产品/供应商 ID

mysql - Windows 上的 my.cnf 等效文件在哪里

linux - UNIX 排序忽略空格

macos - 如何将 shell 脚本输出传递给通知?

linux - 在 SSH 中使用本地和远程变量

python - 将来自 selenium_webdriver(chrome) 的流量绑定(bind)到特定的网络接口(interface)/隧道

linux - 自定义 docker 位置导致 SELinux 标签未标记