inspector/util.sh

140 lines
2.4 KiB
Bash

#! /bin/sh
# posix compatible utility functions
mountpoints() {
case "$(uname -s)" in
Linux|FreeBSD)
df -P | awk 'NR>1 {print $6}'
;;
*)
return 1
;;
esac
}
df_fs() {
case "$(uname -s)" in
Linux|FreeBSD)
df -P "$1" | awk 'NR>1 {print $1}'
;;
*)
return 1
;;
esac
}
# returns the size in 1K blocks
df_blocks() {
case "$(uname -s)" in
Linux|FreeBSD)
df -Pk "$1" | awk 'NR>1 {print $2}'
;;
*)
return 1
;;
esac
}
df_blocks_used() {
case "$(uname -s)" in
Linux|FreeBSD)
df -Pk "$1" | awk 'NR>1 {print $3}'
;;
*)
return 1
;;
esac
}
df_blocks_avail() {
case "$(uname -s)" in
Linux|FreeBSD)
df -Pk "$1" | awk 'NR>1 {print $4}'
;;
*)
return 1
;;
esac
}
df_blocks_capacity() {
case "$(uname -s)" in
Linux|FreeBSD)
df -Pk "$1" | awk 'NR>1 {print $5}'
;;
*)
return 1
;;
esac
}
df_has_inodes() {
case "$(uname -s)" in
Linux)
df -i "$1" | awk 'NR>1 { if ($5 == "-") print 0; else print 1 }'
;;
FreeBSD)
df -i "$1" | awk 'NR>1 { if ($8 == "-") print 0; else print 1 }'
;;
*)
return 1
;;
esac
}
df_inodes() {
case "$(uname -s)" in
Linux)
df -i "$1" | awk 'NR>1 { print $2 }'
;;
FreeBSD)
df -i "$1" | awk 'NR>1 { print $6+$7 }'
;;
*)
return 1
;;
esac
}
df_inodes_used() {
case "$(uname -s)" in
Linux)
df -i "$1" | awk 'NR>1 { print $3 }'
;;
FreeBSD)
df -i "$1" | awk 'NR>1 { print $6 }'
;;
*)
return 1
;;
esac
}
df_inodes_free() {
case "$(uname -s)" in
Linux)
df -i "$1" | awk 'NR>1 { print $4 }'
;;
FreeBSD)
df -i "$1" | awk 'NR>1 { print $7 }'
;;
*)
return 1
;;
esac
}
df_inodes_capacity() {
case "$(uname -s)" in
Linux)
df -i "$1" | awk 'NR>1 { print $5 }'
;;
FreeBSD)
df -i "$1" | awk 'NR>1 { print $8 }'
;;
*)
return 1
;;
esac
}