diff --git a/inxi b/inxi index 96a5b05..3fd1676 100644 --- a/inxi +++ b/inxi @@ -1,7 +1,7 @@ #!/bin/bash ######################################################################## #### Script Name: inxi -#### version: 0.8.13.b2.2 +#### version: 0.8.13.b2.3 #### Date: December 22 2008 ######################################################################## #### inxi is a fork of infobash 3.02, the original bash sys info script by locsmif @@ -163,6 +163,7 @@ B_ASOUND_VERSION='false' B_BASH_ARRAY='false' B_IFCONFIG='false' B_LSB_DIR='false' +B_SCSI_DIR='false' ### Directory's used when present CPUINFO='/proc/cpuinfo' @@ -170,6 +171,7 @@ MEMINFO='/proc/meminfo' ASOUND_DEVICE='/proc/asound/cards' ASOUND_VERSION='/proc/asound/version' LSB_RELEASE='/etc/lsb-release' +SCSI_DIR='/proc/scsi/scsi' ### Variable initializations: constants DCOPOBJ="default" @@ -377,6 +379,10 @@ init() if [[ -f "$LSB_RELEASE" ]];then B_LSB_DIR='true' fi + + if [[ -e "$SCSI_DIR" ]];then + B_SCSI_DIR='false' + fi # lack of ifconfig will throw an error only upon it's usage if [[ -x ifconfig ]];then @@ -1307,7 +1313,7 @@ get_audio_alsa_data() local alsa_data='' # now we'll get the alsa data if the file exists - if [[ -e "$B_ASOUND_VERSION" ]];then + if [[ $B_ASOUND_VERSION ]];then alsa_data=$( gawk ' { IGNORECASE=1 } # some alsa strings have the build date in (...) @@ -1320,7 +1326,7 @@ get_audio_alsa_data() if ( $0 != "" ){ print $0 } - }' $B_ASOUND_VERSION ) + }' $ASOUND_VERSION ) fi echo "$alsa_data" } @@ -1483,7 +1489,8 @@ get_distro_data() # otherwise try the default debian/ubuntu /etc/issue file elif [[ -f /etc/issue ]];then # lsb gives more manageable and accurate output than issue, but mint should use issue for now - if [[ "$B_LSB_DIR" && -z $( grep -i 'mint' /etc/issue ) ]];then + # something here allows puppy linux into the mint section + if [[ $B_LSB_DIR ]] && [[ -z $( grep -i 'mint' /etc/issue ) ]];then distro=$( get_distro_lsb_data ) else distro=$( gawk ' @@ -1830,7 +1837,7 @@ get_hard_drive_data_advanced() ## then handle libata names # first get the ata device names, put them into an array IFS=$'\n' - if [[ -e /proc/scsi/scsi ]]; then + if [[ $B_SCSI_DIR ]]; then a_temp_scsi=( $( gawk ' BEGIN { IGNORECASE=1 } /host/ { @@ -1855,7 +1862,7 @@ get_hard_drive_data_advanced() print c } } - }' /proc/scsi/scsi) ) + }' $SCSI_DIR ) ) fi IFS="$ORIGINAL_IFS" @@ -2038,7 +2045,7 @@ get_networking_wan_ip_data() get_networking_local_ip_data() { - if [[ B_IFCONFIG ]];then + if [[ $B_IFCONFIG ]];then IFS=$'\n' A_INTERFACES_DATA=( $( ifconfig | gawk ' BEGIN { IGNORECASE=1 } @@ -2083,14 +2090,14 @@ get_networking_local_ip_data() get_partition_data() { - local excluded_file_types='--exclude-type=aufs --exclude-type=tmpfs --exclude-type=iso9660' + #local excluded_file_types='--exclude-type=aufs --exclude-type=tmpfs --exclude-type=iso9660' IFS=$'\n' # sample line: /dev/sda2 ext3 15G 8.9G 4.9G 65% /home # $NF = partition name; $(NF - 4) = partition size; $(NF - 3) = used, in gB; $(NF - 1) = percent used ## note: by subtracting from the last field number NF, we avoid a subtle issue with LVM df output, where if ## the first field is too long, it will occupy its own line, this way we are getting only the needed data - A_PARTITION_DATA=( $( df -h -T "$excluded_file_types" | gawk ' + A_PARTITION_DATA=( $( df -h -T --exclude-type=aufs --exclude-type=tmpfs --exclude-type=iso9660 | gawk ' BEGIN { IGNORECASE=1 } /\/$|\/boot$|\/var$|\/home$|\/tmp$|\/usr$/ && ! /aufs/ { print $NF "," $(NF - 4) "," $(NF - 3) "," $(NF - 1) ",main"