Improved the limited SYSTEM_INFO parser
This commit is contained in:
parent
79b9ddf5f6
commit
d55a8a4d0d
@ -59,39 +59,21 @@ refresh-system-info() {
|
|||||||
INTRO_STATE[hostname]=full
|
INTRO_STATE[hostname]=full
|
||||||
else
|
else
|
||||||
# Parse machine info if available
|
# Parse machine info if available
|
||||||
if [ -f /etc/machine-info ]; then
|
if [[ ${INTRO_STATE[MACHINE_INFO]} == present ]]; then
|
||||||
# Populate SYSTEM_INFO array as best as possible (this will be missing a _lot_ of fields that hostnamed calculates)
|
# Populate SYSTEM_INFO array as best as possible (this will be missing a _lot_ of fields that hostnamed calculates)
|
||||||
while read line; do
|
local shared_keys=(PrettyHostname IconName Chassis Deployment Location HardwareVendor HardwareModel HardwareVersion)
|
||||||
case $line in
|
for key val in "${(@kv)MACHINE_INFO}"; do
|
||||||
PRETTY_HOSTNAME=*)
|
case $key in
|
||||||
eval "${line/PRETTY_HOSTNAME/SYSTEM_INFO[PrettyHostname]}"
|
HardwareSku)
|
||||||
|
SYSTEM_INFO[HardwareSKU]=${MACHINE_INFO[HardwareSku]}
|
||||||
;;
|
;;
|
||||||
ICON_NAME=*)
|
*)
|
||||||
eval "${line/ICON_NAME/SYSTEM_INFO[IconName]}"
|
if [[ ${${key:*shared_keys}:+x} == 'x' ]]; then
|
||||||
;;
|
SYSTEM_INFO[$key]=${MACHINE_INFO[$key]}
|
||||||
CHASSIS=*)
|
fi
|
||||||
eval "${line/CHASSIS/SYSTEM_INFO[Chassis]}"
|
|
||||||
;;
|
|
||||||
DEPLOYMENT=*)
|
|
||||||
eval "${line/DEPLOYMENT/SYSTEM_INFO[Deployment]}"
|
|
||||||
;;
|
|
||||||
LOCATION=*)
|
|
||||||
eval "${line/LOCATION/SYSTEM_INFO[Location]}"
|
|
||||||
;;
|
|
||||||
HARDWARE_VENDOR=*)
|
|
||||||
eval "${line/HARDWARE_VENDOR/SYSTEM_INFO[HardwareVendor]}"
|
|
||||||
;;
|
|
||||||
HARDWARE_MODEL=*)
|
|
||||||
eval "${line/HARDWARE_MODEL/SYSTEM_INFO[HardwareModel]}"
|
|
||||||
;;
|
|
||||||
HARDWARE_SKU=*)
|
|
||||||
eval "${line/HARDWARE_SKU/SYSTEM_INFO[HardwareSKU]}"
|
|
||||||
;;
|
|
||||||
HARDWARE_VERSION=*)
|
|
||||||
eval "${line/HARDWARE_VERSION/SYSTEM_INFO{HardwareVersion]}"
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done </etc/machine-info
|
done
|
||||||
INTRO_STATE[SYSTEM_INFO]=limited
|
INTRO_STATE[SYSTEM_INFO]=limited
|
||||||
fi
|
fi
|
||||||
# Read current (transient) hostname
|
# Read current (transient) hostname
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user