如何找到 bash 单元格中 df 总容量的总和

How to find the sum of df total capacity in bash cell

我写了一个脚本来计算 Linux 中 df 总容量的总和 Bash shell。有没有不用创建文件就能计算出来的方法?

#!/bin/bash

if [ -f /tmp/df_test.txt ]
then
    rm  tmp/df_test.txt
    echo "Remove files."
    else
    touch /tmp/df_test.txt
    echo "file creation."
        arr=(`df | awk -F " " '{print }' | sort -n | sed -e "1d"`)
        for i in ${arr[*]}
        do
            echo $i >>/tmp/df_test.txt 2>/dev/null
        done
fi
echo "ex) 1GB = 1000MB = 1000000KB"
echo "————————————————————————————————————"
cat /tmp/df_test.txt | awk '{sum+=; print[=11=]} END {print"df total=KB)",sum} ' | sort -r | sed '2,$d'
echo "————————————————————————————————————"
rm /tmp/df_test.txt

我也想让我的代码更简洁,但我没有想法。

您可以试试这个来获取以人类可读单位表示的总使用量

df --total --human | awk 'END {print }'