저는 이 작은 스크립트를 작동시키는 방법을 찾으려고 노력하고 있습니다.
이 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
성공 시 종료되고 실패 시 0이 아닌 값을 반환합니다. cat
파일의 값을 원하면 종료 코드가 필요하지 않습니다 . 명령 대체를 사용하여 $(...)
명령 출력을 캡처합니다.
if [ "$(cat /sys/block/sda/queue/rotational)" = 0 ]; then
echo "SSD"
else
echo "HDD"
fi