Ubuntu에서 Raspberry Pi 온도 기록 - .sh 스크립트 실행 문제

Ubuntu에서 Raspberry Pi 온도 기록 - .sh 스크립트 실행 문제

Ubuntu 20.04가 설치된 Raspberry Pi 4가 있습니다. 저는 Linux를 처음 사용하고 있으며 몇 분마다 Raspberry Pi의 온도를 기록하려고 합니다.

.sh 파일을 작성하여 실행하려고 하는데 작동하지 않고 이유를 모르겠습니다.

#!/bin/bash
temp=$(/sys/class/thermal/thermal_zone0/temp)
temp_f=echo "$temp/1000" | bc -l
echo "Pi Temp: %.3fC\n" $temp_f >> /home/projects/temperature_logger/temp.log

이것을 실행하려고 하면

./logscript.sh: line 2: /sys/thermal/thermal_zone0/temp: Permission Denied
./logscript.sh: line 3: /1000: No such file or directory
./logscript.sh: line 4: /home/projects/temperature_logger/temp.log: Permission Denied

이러한 권한 문제를 어떻게 해결합니까? 나는 우분투로 로그인했고 그는 파이의 유일한 사용자입니다.

답변1

  • 첫 번째 줄은 /sys/.../temp당신이 원하는 것이 아닙니다. 이 파일에서 값을 사용 cat하거나 검색합니다.head -n 1

  • $()두 번째 줄에는 명령을 평가하고 해당 출력을 저장하는 구문이 없습니다 .

  • 세 번째 줄은 허가에 대해 불평합니다. temp.log를 사용하여 파일에 대한 쓰기 액세스 권한이 필요합니다 chmod ugo+w temp.log.

나는 또한 그것을 다음과 같이 교체 했습니다 echo.printf후자가 더 안정적이다마지막 줄에서는 값을 소수점 세 자리까지 자르는 방법입니다.

temp=$(cat /sys/class/thermal/thermal_zone0/temp)
temp_f=$(printf '%s\n' "$temp/1000" | bc -l)
printf 'Pi Temp: %.3fC\n' "$temp_f" >> /home/projects/temperature_logger/temp.log

관련 정보