for i in /sys/block/sd* ; do wwn=`/lib/udev/scsi_id -g -s /block/${i##*/}` ; [ "$wwn" != "" ] && echo -e ${i##*/}'\t'$wwn ;done
Команда for i in /sys/block/sd* ; do wwn=
/lib/udev/scsi_id -g -s /block/${i##*/} ; [ "$wwn" != "" ] && echo -e ${i##*/}'\t'$wwn ;done
используется для получения форматированного списка World Wide Name (wwn) всех логических юнитов (LUN) в системе.
Краткое объяснение команды:
— for i in /sys/block/sd*
— цикл для каждого блочного устройства, имя которого начинается с «sd» в директории «/sys/block»;
— wwn=
/lib/udev/scsi_id -g -s /block/${i##*/} - переменная "wwn" присваивает значение, полученное с помощью утилиты "scsi_id" для блочного устройства;
[ «$wwn» != «» ]
- - условие, которое выполняется, если переменная "wwn" не равна пустой строке;
echo -e ${i##*/}’\t’$wwn
- - вывод форматированной строки, состоящей из имени блочного устройства (полученного с помощью синтаксиса
${i##*/}`) и значения переменной «wwn».
Эта команда полезна, когда требуется получить список wwn всех LUN в системе. Альтернативным способом может быть использование утилиты «lsscsi» для получения информации о SCSI-устройствах.