Reorga of functions
moved all functions into files Redid RAM to be more useable
This commit is contained in:
46
RAM.sh
Executable file
46
RAM.sh
Executable file
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function RAM(){
|
||||
local OUT_FILE=$1
|
||||
# Read RAM information
|
||||
ram_info=$(sudo dmidecode -t memory)
|
||||
# Get memory type
|
||||
ram_type=$(echo "$ram_info" | awk -F': ' '/^[[:space:]]*Type:/ && $2 !~ /Unknown/ {print $2; exit}')
|
||||
# Get module sizes
|
||||
modules=$(echo "$ram_info" | awk '
|
||||
/^[[:space:]]*Size:/ {
|
||||
if ($0 !~ /No Module Installed/ && $2 ~ /^[0-9]+$/)
|
||||
print $2
|
||||
}
|
||||
')
|
||||
# Count empty slots
|
||||
empty_slots=$(echo "$ram_info" | awk '
|
||||
/^[[:space:]]*Size:/ {
|
||||
if ($0 ~ /No Module Installed/)
|
||||
count++
|
||||
}
|
||||
END {
|
||||
print count+0
|
||||
}
|
||||
')
|
||||
|
||||
# Calculate total RAM and format modules
|
||||
total=0
|
||||
sizes=""
|
||||
|
||||
for size in $modules; do
|
||||
total=$((total + size))
|
||||
if [ -z "$sizes" ]; then
|
||||
sizes="${size} GB"
|
||||
else
|
||||
sizes="${sizes} + ${size} GB"
|
||||
fi
|
||||
done
|
||||
|
||||
# Output
|
||||
if [ -z "$modules" ]; then
|
||||
echo -e "RAM: No modules detected - ${empty_slots} empty slots ${ram_type}" >>"$OUT_FILE"
|
||||
else
|
||||
echo -e "RAM: ${total} GB - ${sizes} ${ram_type} - ${empty_slots} empty slots" >>"$OUT_FILE"
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user