Ja, der er flere metoder til programmatisk at afgøre, om et bash-script kører på en bærbar eller en stationær computer. Her er nogle pålidelige metoder:
Bærbare computere har typisk batterier, mens stationære computere ikke har det. Du kan kontrollere tilstedeværelsen af et batteri ved hjælp af følgende kommando:
if [ -d /sys/class/power_supply/BAT0 ]; then
echo "Bærbar computer"
else
echo "Stationær computer"
fi
Du kan bruge dmidecode
kommandoen til at hente systeminformation og afgøre, om det er en bærbar eller stationær computer. Dette kræver root-adgang:
sudo dmidecode -t system | grep -i "Product Name"
Typisk vil produktnavnet indeholde oplysninger, der kan indikere, om det er en bærbar eller stationær computer.
ACPI (Advanced Configuration and Power Interface) kan også give oplysninger om systemtypen:
if grep -q "Battery" /proc/acpi/battery/*/info 2>/dev/null; then
echo "Bærbar computer"
else
echo "Stationær computer"
fi
Du kan bruge lshw
(list hardware) kommandoen til at få detaljeret hardwareinformation:
sudo lshw -class system | grep -i "product"
Produktnavnet kan give en indikation af, om det er en bærbar eller stationær computer.
Bærbare computere har ofte specifikke PCI-enheder, som stationære computere ikke har, såsom integrerede trådløse kort:
if lspci | grep -i "wireless"; then
echo "Bærbar computer"
else
echo "Stationær computer"
fi
Ved at kombinere flere af disse metoder kan du øge nøjagtigheden af din bestemmelse.
Har du brug for hjælp til bash-scripts eller programmering? Med Handyhand kan du nemt oprette din opgave gratis og få bud fra dygtige freelancere på få minutter. Uanset om du står over for en specifik udfordring eller har brug for vejledning, er Handyhand her for at hjælpe dig med at finde den rette ekspert.