如果您的 Linux 驱动器是 SSD 或 HDD

如果您的 Linux 驱动器是 SSD 或 HDD

我在这里试图找出一种方法让这个小脚本正常工作。

cat命令应该给我 1 或 0:

if [cat /sys/block/sda/queue/rotational = 0 ]; then
    echo "SSD"
else
    echo "HDD"
fi

cat我用谷歌搜索了一下,在某人的帖子中找到了该命令。

我试图让这个脚本打印驱动器sda是 SSD 还是 HDD。我可以通过将等号后面的值从 0 更改为 1 来测试它是否有效,并且应该以其他方式读取它。

我还希望它只打印“SSD 或 HDD”,而不显示其他内容。

答案1

if [ "$(cat /sys/block/sda/queue/rotational)" = 0 ]; then
    echo "SSD"
else
    echo "HDD"
fi

在 Bash 中你还可以这样做:

if [ "$(</sys/block/sda/queue/rotational)" = 0 ]; then
    echo "SSD"
else
    echo "HDD"
fi

答案2

cat命令0在成功时退出,在失败时返回非零值。您不需要cat;的退出代码你想要一个文件中的值。使用命令替换$(...),捕获命令输出。

if [ "$(cat /sys/block/sda/queue/rotational)" = 0 ]; then
    echo "SSD"
else
    echo "HDD"
fi

相关内容