利用dialog用shell查看系统信息

#!/bin/bash
# system info shell

exec 2>/dev/null

tempfile1=$(mktemp -t file.XXXXXX)
function cpuinfo() {
    cat /proc/cpuinfo &>$tempfile1
    dialog --textbox $tempfile1 40 80
}

function meminfo() {
    cat /proc/meminfo &>$tempfile1
    dialog --textbox $tempfile1 40 80
}

function vgainfo() {
    lspci | grep -i 'VGA' &>$tempfile1
    dialog --textbox $tempfile1 40 80
}

function ifconfiginfo() {
    ifconfig &>$tempfile1
    dialog --textbox $tempfile1 40 80
}

function xuliehao() {
    cat /sys/class/dmi/id/product_* &>$tempfile1
    dialog --textbox $tempfile1 40 80
}

function biosinfo() {
    cat /sys/class/dmi/id/bios_* &>$tempfile1
    dialog --textbox $tempfile1 40 80
}

function filesystem() {
    cat /proc/filesystems &>$tempfile1
    dialog --textbox $tempfile1 40 80
}

function version() {
    cat /proc/version &>$tempfile1
    dialog --textbox $tempfile1 40 220
}

function ioport() {
    cat /proc/ioports &>$tempfile1
    dialog --textbox $tempfile1 40 80
}
tempfile2=$(mktemp -t file.XXXXXX)
while [ 1 ]; do
    dialog --menu "System info" 20 30 10 1 "cpu info" 2 "memory info" 3 "network crad info" 4 "Graphics card info" 5 "erial number" 6 "bios info" 7 "file systems" 8 "version info" 9 "io ports info" 10 "exit" 2>$tempfile2

    outputinfo=$(cat $tempfile2)

    #if [ -z $outputinfo ]
    #then
    #    exit
    #fi

    case $outputinfo in
    1)
        cpuinfo
        ;;
        #continue ;;
    2)
        meminfo
        ;;
    3)
        ifconfiginfo
        ;;
    4)
        vgainfo
        ;;
    5)
        xuliehao
        ;;
    6)
        biosinfo
        ;;
    7)
        filesystem
        ;;
    8)
        version
        ;;
    9)
        ioport
        ;;
    10)
        break
        ;;
    *)
        break
        ;;
    esac
done
rm -rf $tempfile1 $tempfile2

 

posted @ 2019-08-15 16:51  晴的blog  阅读(236)  评论(0)    收藏  举报