#!/bin/bash # thwd # Test script for lshwd # 27-Nov-2004 # ### LISTFILE=/tmp/lshwd.list # we dump modules info into a temp file # # first some other ways to parse lshwd, just to show some other possibilities :-) #./lshwd -n -m | sed "s/\" \"/\"/g" | sed "s/\"/\n/g" #./lshwd -n -m | sed "s/\" \"/\n/g" | sed "s/\"/\n----------\nClass:/g" #./lshwd -m | awk -F\" '{print "-----\nClass:"$2"\ndesc:\t"$4"\ndriver:\t"$6"\ndevice:\t"$8}' #./lshwd -n -m > $LISTFILE (not correct) # LISTFILE=$(./lshwd -n -m) (correct) # LISTFILE=`./lshwd -n -m` # cat doesn't read variable but file!!! ./lshwd -n -m > LISTFILE # # now for SPECIFIC request... # NETCARD_DEVICE=$(cat LISTFILE | awk -F\" '/Ethernet controller/{print $8;exit}') NETCARD_MODULE=$(cat LISTFILE | awk -F\" '/Ethernet controller/{print $6;exit}') NETCARD_NAME=$(cat LISTFILE | awk -F\" '/Ethernet controller/{print $4;exit}') SOUND_MODULE=$(cat LISTFILE | awk -F\" '/Multimedia audio controller/{print $6;exit}') SOUND_NAME=$(cat LISTFILE | awk -F\" '/Multimedia audio controller/{print $4;exit}') [ -f /usr/X11R6/bin/xorgcfg ] && X_SERVER="Xorg" || X_SERVER="XFree86" X_MODULE=$(cat LISTFILE | awk -F\" '/VGA compatible controller/{print $6;exit}') X_NAME=$(cat LISTFILE | awk -F\" '/VGA compatible controller/{print $4;exit}') MOUSE_DRIVER=$(cat LISTFILE | awk -F\" '/Mouse/{print $6;exit}') if [ "$MOUSE_DRIVER" = "msintellips/2" ]; then MOUSE_TYPE="ps2" XMOUSE_TYPE="PS/2" else MOUSE_TYPE="imps2" XMOUSE_TYPE="IMPS/2" fi MOUSE_NAME=$(cat LISTFILE | awk -F\" '/Mouse/{print $4;exit}') MOUSE_DEVICE=$(cat LISTFILE | awk -F\" '/Mouse/{print $8;exit}') #HD_DEVICE=$(cat LISTFILE | awk -F\" '/XXX/{print $8;exit}') #HD_NAME=$(cat LISTFILE | awk -F\" '/XXX/{print $8;exit}') #CDROM_DEVICE=$(cat LISTFILE | awk -F\" '/XXX/{print $8;exit}') #CDROM_NAME=$(cat LISTFILE | awk -F\" '/XXX/{print $8;exit}') #FLOPPY_DEVICE=$(cat LISTFILE | awk -F\" '/XXX/{print $8;exit}') #FLOPPY_NAME=$(cat LISTFILE | awk -F\" '/XXX/{print $8;exit}') USB_MODULE=$(cat LISTFILE | awk -F\" '/USB Controller/{print $6;exit}') USB_NAME=$(cat LISTFILE | awk -F\" '/USB Controller/{print $4;exit}') USB_STORAGE_MODULE=$(cat LISTFILE | awk -F\" '/USB Mass Storage/{print $6;exit}') USB_STORAGE_NAME=$(cat LISTFILE | awk -F\" '/USB Mass Storage/{print $4;exit}') MODEM_MODULE=$(cat LISTFILE | awk -F\" '/Communication controller/{print $6;exit}') MODEM_NAME=$(cat LISTFILE | awk -F\" '/Communication controller/{print $4;exit}') MODEM_MODULE=$(cat LISTFILE | awk -F\" '/Modem/{print $6;exit}') MODEM_NAME=$(cat LISTFILE | awk -F\" '/Modem/{print $4;exit}') FIREWIRE_MODULE=$(cat LISTFILE | awk -F\" '/FireWire/{print $6;exit}') FIREWIRE_NAME=$(cat LISTFILE | awk -F\" '/FireWire/{print $4;exit}') ###### TEST ######## # ANSI COLORS NORMAL="\033[0;39m" # RED: Failure or error message RED="\033[1;31m" # GREEN: Success message GREEN="\033[1;32m" # YELLOW: Attention message YELLOW="\033[1;33m" # BLUE: Description BLUE="\033[1;34m" # LCYAN: Found devices or modules LCYAN="\033[1;36m" # CYAN: System message CYAN="\033[0;36m" # BOLD WHITE: Hint WHITE="\033[1;37m" # Clear screen # clear echo -e "${CYAN}TEST${NORMAL}" # Soundcard if [ -n "$SOUND_NAME" ]; then echo -e " ${CYAN}ALSA(sound): ${NORMAL}$SOUND_NAME ${CYAN}module: ${LCYAN}$SOUND_MODULE" else echo -e " ${CYAN}Soundcard : ${NORMAL}No sound card" fi if [ -n "$X_NAME" ]; then echo -en " ${CYAN}Video : ${NORMAL}$X_NAME" echo -en " ${CYAN}server: ${NORMAL}$X_SERVER (${LCYAN}${X_MODULE}${NORMAL}) " echo -e " ${NORMAL}" echo -en " ${CYAN}Monitor : ${NORMAL}$MONITOR_NAME ${NORMAL}" echo -e "${CYAN} ${CYAN}H:${NORMAL} ${HREFRESH}kHz${CYAN} V:${NORMAL} ${VREFRESH}Hz${NORMAL}" else echo -e " ${CYAN}Video : ${NORMAL}No X" fi # Mouse if [ -n "$MOUSE_NAME" ]; then echo -e " ${CYAN}Mouse : ${NORMAL}$MOUSE_NAME${CYAN} type: ${LCYAN}$MOUSE_TYPE ${CYAN}xtype: ${LCYAN}$XMOUSE_TYPE ${CYAN}device: ${LCYAN}$MOUSE_DEVICE${NORMAL}" else echo -e " ${CYAN}Mouse : ${NORMAL}No mouse" fi # HD if [ -n "$HD_NAME" ]; then echo -e " ${CYAN}HD : ${NORMAL}$HD_NAME ${CYAN}device: ${LCYAN}$HD_DEVICE${NORMAL}" else echo -e " ${CYAN}HD : ${NORMAL}No HD" fi # CD-ROM if [ -n "$CDROM_NAME" ]; then echo -e " ${CYAN}CDROM : ${NORMAL}${CDROM_NAME}${CYAN} device: ${LCYAN}${CDROM_DEVICE}${NORMAL}" else echo -e " ${CYAN}CDROM : ${NORMAL}No CDROM" fi # Floppy if [ -n "$FLOPPY_NAME" ]; then echo -e " ${CYAN}Floppy : ${NORMAL}${FLOPPY_NAME}${CYAN} device: ${LCYAN}${FLOPPY_DEVICE}${NORMAL}" else echo -e " ${CYAN}Floppy : ${NORMAL}No Floppy drive" fi # USB if [ -n "$USB_NAME" ]; then echo -e " ${CYAN}USB : ${NORMAL}USB found ${CYAN}module: ${LCYAN}$USB_MODULE${NORMAL}" else echo -e " ${CYAN}USB : ${NORMAL}No USB" fi # USB STORAGE if [ -n "$USB_STORAGE_NAME" ]; then echo -e " ${CYAN}USB(drive) : ${NORMAL}$USB_STORAGE_NAME ${CYAN}module: ${LCYAN}$USB_STORAGE_MODULE${NORMAL}" else echo -e " ${CYAN}USB(drive) : ${NORMAL}No USB drive." fi if [ -n "$NETCARD_NAME" ]; then echo -e " ${CYAN}Ethernet : ${NORMAL}${NETCARD_NAME}${CYAN} module: ${LCYAN}${NETCARD_MODULE} ${CYAN}device: ${LCYAN}$NETCARD_DEVICE${NORMAL}" else echo -e " ${CYAN}Ethernet : ${NORMAL}No Ethernet card" fi if [ -n "$MODEM_NAME" ]; then echo -e " ${CYAN}Modem : ${NORMAL}${MODEM_NAME}${CYAN} module/info: ${LCYAN}${MODEM_MODULE} ${NORMAL}" else echo -e " ${CYAN}Modem : ${NORMAL}No Modem" fi if [ -n "$FIREWIRE_NAME" ]; then echo -e " ${CYAN}Firewire : ${NORMAL}${FIREWIRE_NAME}${CYAN} module: ${LCYAN}${FIREWIRE_MODULE} ${NORMAL}" else echo -e " ${CYAN}Firewire : ${NORMAL}No Firewire" fi if [ -n "$PCMCIA_NAME" ]; then echo -e " ${CYAN}PCMCIA : ${NORMAL}${PCMCIA_NAME}${CYAN} module: ${LCYAN}${PCMCIA_MODULE} ${NORMAL}" else echo -e " ${CYAN}PCMCIA : ${NORMAL}No PCMCIA card" fi echo ""