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

The*_*bM8 5 bash ssd shell-script hard-disk

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

cat命令应该给我 1 或 0:

if [cat /sys/block/sda/queue/rotational = 0 ]; then
    echo "SSD"
else
    echo "HDD"
fi
Run Code Online (Sandbox Code Playgroud)

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

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

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

Ark*_*zyk 6

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

在 Bash 中你还可以这样做:

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


Chr*_*her 5

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

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