dirty-helpers/free-gigs

31 lines
634 B
Text
Raw Permalink Normal View History

2025-08-26 23:03:13 +02:00
#!/bin/sh
2025-08-25 16:59:25 +02:00
# script-friendly df
2025-08-26 23:03:13 +02:00
factor=1024 # for the default (GiB); use -H for GB
2025-08-25 16:59:25 +02:00
2025-08-26 23:03:13 +02:00
optstring="H"
while getopts "$optstring" opt; do
case $opt in
h) factor=1024 ;; # default (GiB)
H) factor=1000 ;; # decimal (GB)
2025-08-25 16:59:25 +02:00
esac
done
shift $((OPTIND-1))
target=${1:-.}
2025-08-26 23:03:13 +02:00
if free_bytes=$(stat -f --format="%a*%S" "$target" 2>/dev/null); then
# GNU stat (Linux)
:
elif free_bytes=$(stat -f "%a*%S" "$target" 2>/dev/null); then
# BSD/macOS stat
# XXX untested
2025-08-26 23:03:13 +02:00
:
else
# BusyBox stat fallback
free_bytes=$(stat -f -c "%a*%S" "$target")
2025-08-26 23:03:13 +02:00
fi
free_gb=$((free_bytes / factor / factor / factor))
echo "$free_gb"