if [[ -n $non_os_disk_set ]];then for i in $(echo "$non_os_disk_set") do rotationRate=$(smartctl -i $i |awk -F":" '/Rotation Rate/{print $2}') if [[ $rotationRate =~ "Solid State Device" ]];then echo $i |awk -F"/" '{print $3}' >> ssd_symbol_set elif [[ $rotationRate =~ "rpm" ]];then echo $i |awk -F"/" '{print $3}' >> hdd_symbol_set fi done fi
时间: 2024-04-25 16:25:52 浏览: 134
这段代码的作用是对非操作系统磁盘进行检查,然后根据磁盘的旋转速率来判断该磁盘是否为固态硬盘(SSD)或者旋转硬盘(HDD),并将其分别添加到相应的符号集合中。
具体地,该代码首先检查非操作系统磁盘集合 `non_os_disk_set` 是否非空,如果非空,则对每个磁盘进行检查。检查时,首先使用 `smartctl -i $i` 命令获取该磁盘的信息,然后使用 `awk` 命令过滤出磁盘的旋转速率信息。如果旋转速率信息包含字符串 "Solid State Device",则将该磁盘添加到符号集合 `ssd_symbol_set` 中;否则,如果旋转速率信息包含字符串 "rpm",则将该磁盘添加到符号集合 `hdd_symbol_set` 中。最终,该代码返回符号集合 `ssd_symbol_set` 和 `hdd_symbol_set` 中的元素。
阅读全文