IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

Etiketlenen Kullanıcılar

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 17 Ağustos 2012, 01:10   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
scsi device bulma betiği




#!/bin/bash

# scsi-map - show how SCSI devices are configured by the system
# Copyright (C) 2011 Dennis Leeuw

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.

# A copy of the GNU General Public Licens can be found at:
# <
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
function get_kdevice() {
local my_dev=$1
local out=""

# Get device
if [ -d /sys/block/${my_dev} ]
then
my_out=`echo /sys/block/${my_dev}/device/scsi_disk* 2>/dev/null`
my_out=${my_out#*scsi_disk:}
echo ${my_out#*scsi_disk\*}
return 0
fi

return 1
}

function get_bus_id() {
# Get busID
local tmp=""
local my_dev=$1
local my_request=$2
local my_busid=`ls -l /dev/disk/by-path/* | grep ${my_dev}$`
my_busid=${my_busid#*by-path/}
my_busid=${my_busid%% *}

# busid = bus-device-protocol-address-part*
case $my_request in
bus)
echo ${my_busid} | cut -d- -f1
return 0
;;
device)
echo ${my_busid} | cut -d- -f2
return 0
;;
protocol)
echo ${my_busid} | cut -d- -f3
return 0
;;
address)

local my_address=`echo ${my_busid} | cut -d- -f4-`
if [ "${my_address}" = "" ] && [ -L /sys/block/${my_dev}/device ]
then
my_address=`ls -l /sys/block/${my_dev}/device`
my_address=${my_address##*/}
fi
echo $my_address
return 0
;;
esac
}

function get_dev_holders() {
local sys_path=`find /sys -name $1 | grep -vE "slaves|holders"`
local holders=`echo ${sys_path}/holders/*`
local holder=""
for holder in ${holders}
do
holder=${holder#*holders/}
holder=${holder#\*}
echo -n "$holder "
done
}

function show_all() {
for bdev in `echo /dev/sd*`
do
# Get base name
bdev_name=${bdev##*/}
show_dev ${bdev_name}

done
}

function show_dev() {
local bdev_name=$1

# busid = bus-device-protocol-address-part*
bdev_bus=`get_bus_id ${bdev_name} bus`
bdev_device=`get_bus_id ${bdev_name} device`
bdev_protocol=`get_bus_id ${bdev_name} protocol`
bdev_address=`get_bus_id ${bdev_name} address`

bdev_id=`get_kdevice ${bdev_name}`
if [ $? = 1 ]
then
# Assume partition
bdev_id=${bdev_address%-part*}
fi


bdev_holders=`get_dev_holders ${bdev_name}`
if [ "${bdev_holders}" = "" ]
then
bdev_holders="----"
fi

# Get generic device
if [ -d /sys/bus/scsi/devices/${bdev_id} ]
then
## Get generic device
if [ -L /sys/bus/scsi/devices/${bdev_address}/generic ]
then
bdev_generic=`ls -l /sys/bus/scsi/devices/${bdev_address}/generic`
bdev_generic=${bdev_generic##*/}
fi

## Get status
if [ -f /sys/bus/scsi/devices/${bdev_id}/state ]
then
bdev_status=`cat /sys/bus/scsi/devices/${bdev_id}/state`
fi

else
bdev_generic="---"
bdev_status="-------"
fi

echo ${bdev_bus} ${bdev_device} ${bdev_protocol} ${bdev_address} ${bdev_id} ${bdev_generic} ${bdev_name} ${bdev_status} ${bdev_holders}
}

if [ "$1 $2" = "show all" ]
then
show_all
elif [ "$1" = "show" ]
then
show_dev $2
else
echo "Help"
fi

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
betiği, bulma, device, scsi


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
pci device bulma betiği .sh ufukcingay GNU, Linux ve UNIX 0 17 Ağustos 2012 01:09
Device Remover 0.9.3538 Satuk Bilgisayar Donanımı 0 02 Nisan 2010 13:58
Device Driver 1.0 Satuk Bilgisayar Donanımı 0 01 Nisan 2010 20:45