我在这里试图找出一种方法让这个小脚本正常工作。
该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