mirror of
https://github.com/smxi/inxi.git
synced 2025-01-19 00:47:47 +00:00
Fixed testing bug for advanced sdx name detection
This commit is contained in:
parent
d63f5d8d39
commit
f96ab2c884
78
inxi
78
inxi
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
########################################################################
|
||||
#### Script Name: inxi
|
||||
#### version: 0.4.18
|
||||
#### version: 0.4.19
|
||||
#### Date: November 8 2008
|
||||
########################################################################
|
||||
#### inxi is a fork of infobash, the original bash sys info script by locsmif
|
||||
|
@ -1244,49 +1244,47 @@ get_hard_drive_data_advanced()
|
|||
|
||||
## then handle libata names
|
||||
# first get the ata device names, put them into an array
|
||||
if [[ -e /proc/scsi/sg/device_strs ]]; then
|
||||
IFS=$'\n'
|
||||
IFS=$'\n'
|
||||
if [[ -e /proc/scsi/sg/device_strs && $B_TESTING_FLAG == 'true' ]]; then
|
||||
## prints out hdd device if field one is ATA type (sata compatibility mode) or prints out scsi device
|
||||
# note: pmap handles usb mounted devices, which have a null first field
|
||||
if [[ $B_TESTING_FLAG == 'true' ]];then
|
||||
a_temp_scsi=( $( gawk -F'\t' '
|
||||
BEGIN { IGNORECASE=1 }
|
||||
# if the item starts with empty, void field, assume it is flash drive
|
||||
/^ata|^scsi|^ |^corsair|^wdc|^kingston/ {
|
||||
gsub(/,/, " ", $(NF -1) )
|
||||
gsub(/^ +| +$/, "", $(NF -1) )
|
||||
print $(NF -1)
|
||||
}
|
||||
' /proc/scsi/sg/device_strs ) )
|
||||
else
|
||||
a_temp_scsi=( $( gawk '
|
||||
BEGIN { IGNORECASE=1 }
|
||||
/host/ {
|
||||
getline a[$0]
|
||||
getline b[$0]
|
||||
}
|
||||
END {
|
||||
for (i in a) {
|
||||
if (b[i] ~ / *type: *direct-access.*/) {
|
||||
#c=gensub(/^ *vendor: (.+) +model: (.+) +rev: (.+)$/,"\\1 \\2 \\3","g",a[i])
|
||||
#c=gensub( /^ *vendor: (.+) +model: (.+) +rev:.*$/,"\\1 \\2","g",a[i] )
|
||||
# the vendor: string is useless, and is a bug, ATA is not a vendor for example
|
||||
c=gensub( /^ *vendor: (.+) +model: (.+) +rev:.*$/, "\\2", "g", a[i] )
|
||||
gsub(/,/, " ", c)
|
||||
gsub(/^ +| +$/, "", c)
|
||||
gsub(/ [ \t]+/, " ", c)
|
||||
#print a[i]
|
||||
# we actually want this data, so leaving this off for now
|
||||
# if (c ~ /\<flash\>|\<pendrive\>|memory stick|memory card/) {
|
||||
# continue
|
||||
# }
|
||||
print c
|
||||
}
|
||||
a_temp_scsi=( $( gawk -F'\t' '
|
||||
BEGIN { IGNORECASE=1 }
|
||||
# if the item starts with empty, void field, assume it is flash drive
|
||||
/^ata|^scsi|^ |^corsair|^wdc|^kingston/ {
|
||||
gsub(/,/, " ", $(NF -1) )
|
||||
gsub(/^ +| +$/, "", $(NF -1) )
|
||||
print $(NF -1)
|
||||
}
|
||||
' /proc/scsi/sg/device_strs ) )
|
||||
elif [[ -e /proc/scsi/scsi ]]; then
|
||||
a_temp_scsi=( $( gawk '
|
||||
BEGIN { IGNORECASE=1 }
|
||||
/host/ {
|
||||
getline a[$0]
|
||||
getline b[$0]
|
||||
}
|
||||
END {
|
||||
for (i in a) {
|
||||
if (b[i] ~ / *type: *direct-access.*/) {
|
||||
#c=gensub(/^ *vendor: (.+) +model: (.+) +rev: (.+)$/,"\\1 \\2 \\3","g",a[i])
|
||||
#c=gensub( /^ *vendor: (.+) +model: (.+) +rev:.*$/,"\\1 \\2","g",a[i] )
|
||||
# the vendor: string is useless, and is a bug, ATA is not a vendor for example
|
||||
c=gensub( /^ *vendor: (.+) +model: (.+) +rev:.*$/, "\\2", "g", a[i] )
|
||||
gsub(/,/, " ", c)
|
||||
gsub(/^ +| +$/, "", c)
|
||||
gsub(/ [ \t]+/, " ", c)
|
||||
#print a[i]
|
||||
# we actually want this data, so leaving this off for now
|
||||
# if (c ~ /\<flash\>|\<pendrive\>|memory stick|memory card/) {
|
||||
# continue
|
||||
# }
|
||||
print c
|
||||
}
|
||||
}' /proc/scsi/scsi) )
|
||||
fi
|
||||
IFS="$ORIGINAL_IFS"
|
||||
}
|
||||
}' /proc/scsi/scsi) )
|
||||
fi
|
||||
IFS="$ORIGINAL_IFS"
|
||||
|
||||
## then we'll loop through that array looking for matches. Note, with identical drives this will fail, sigh..
|
||||
## for future use, that should be tightened up, but for now it's fine.
|
||||
|
|
Loading…
Reference in a new issue