我很难理解我在这里做错了什么。输出会重复查看磁盘的次数:
Parted -l |
awk -F '[ :] '/^Disk \//{print $2}' |
while read LINE; do
blkid $LINE1 |
awk -F ' ' '{
for(i=1;i<=NF;i++) {
print $i;
if($i ~ /UUID*/) {
print $i;
exit
}
}
}';
done
如果我的系统中有三个磁盘,例如/ dev / sda1 / dev / sdb1 / dev / sdc1
输入上述命令集:
/dev/sda1: LABEL="/" UUID="feg45687-576466-676445-6536-7534-5784326797fbfg" TYPE="ext4"
以上命令的当前输出:
UUID="feg45687-576466-676445-6536-7534-5784326797fbfg"
UUID="tug45687-576466-676445-6536-7534-68546df"
UUID="feg45687-576466-676445-6536-7534-9908536lk"
UUID="feg45687-576466-676445-6536-7534-5784326797fbfg"
UUID="tug45687-576466-676445-6536-7534-68546df"
UUID="feg45687-576466-676445-6536-7534-9908536lk"
UUID="feg45687-576466-676445-6536-7534-5784326797fbfg"
UUID="tug45687-576466-676445-6536-7534-68546df"
UUID="feg45687-576466-676445-6536-7534-9908536lk"
预期产出是什么:
UUID="feg45687-576466-676445-6536-7534-5784326797fbfg"
UUID="tug45687-576466-676445-6536-7534-68546df"
UUID="feg45687-576466-676445-6536-7534-9908536lk"
因此,如果我有三个磁盘,我会重复三次相同的UUID线。
任何方式移动到下一个LINE而不重复?
答案 0 :(得分:0)
您的问题(或者,至少是您的一个问题)可能在以下几行:
while read LINE; do
blkid $LINE1 |
您已阅读$LINE
,但您引用了$LINE1
,这是一个不相关且可能未初始化的变量,可能导致blkid
每次都列出所有设备。
修正:选择一个名称或另一个名称 - 不要同时使用这两个名称。