Есть проблемы, на которые нужно обратить внимание
- Скрипт использует «%» для расчета процента. Это даст использовать остаток. Используйте «/» для деления.
- Потенциальная проблема: Скрипт использует «stat» для расчета размера папки. Вы уверены, что вам не нужно рассчитывать размер ВСЕХ файлов в папке?
К этим двум можно обратиться с помощью:
dname2=$(dirname "$1");
# this will extract size in bytes of all files in the folder. See man du
dsize=$(du -b "$dname2" | awk '{ print $1 }');
size=$(stat -c%s "$1");
# Use 'du' to calculate size for folder and/or file, if needed
# size=$(du -b "$1" | awk '{ print $1 }');
percent=$((size*100/dsize));
...
echo $percent
Аналогично, изменение 'size =' для использования 'du' позволит сценарию вычислить процент пространства, используемогопапка внутри папки