![스크립트를 실행하려고 할 때 구문 오류가 발생했습니다.](https://linux55.com/image/103067/%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%98%EB%A0%A4%EA%B3%A0%20%ED%95%A0%20%EB%95%8C%20%EA%B5%AC%EB%AC%B8%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
(standard_in) 1: syntax error
Bash 스크립트에서 다음 코드를 실행하려고 하면 오류( )가 발생합니다. 누군가 나에게 올바른 방향을 알려줄 수 있습니까?
if [[ $(bc <<< "$p0value > $freezeMax") ]]; then
vP0='<a href="f1.php" class="blink">[Freezer 1: '
vP0=$vP0$p0value
vP0="$vP0 °C]</a>"
tempDIFF=$( bc <<< "$p0value-$freezeMax")
echo "$P0_name is currently at $p0value °C, which is $tempDIFF °C higher than it should be. Please attend to this." >> $emailPATH/email.txt
sendP0=1
elif [[ $(bc <<< "$p0value < $freezeMin") ]]; then
vP0='<a href="f1.php" class="blink">[Freezer 1: '
vP0=$vP0$p0value
vP0="$vP0 °C]</a>"
tempDIFF=$(bc <<< "$freezeMin-$p0value")
echo "$P0_name is currently at $p0value °C, which is $tempDIFF °C lower than it should be. Please attend to this." >> $emailPATH/email.txt
sendP0=1
else
vP0='<a href="f1.php" class="steady">[Freezer 1: '
vP0=$vP0$p0value
vP0="$vP0 °C]</a>"
sendP0=0
fi
bc
참고: 변수에 부동 소수점이 포함되어 있으므로 계산에 사용해야 합니다 .
추가 정보:
저는 Raspbian Jessie를 실행하는 Raspberry Pi 2에서 이것을 실행하고 있습니다.
셰르본은#! /bin/bash
답변1
오류는 bc
스크립트를 실행하는 셸이 아닌 에서 발생합니다. 변수 중 하나가 비어 있는 것 아닐까요?
~ $ bc <<< " < 1"
(standard_in) 1: syntax error
답변2
BC는산출1 조건이 참인 경우
테스트는
if [ $( bc <<< "test" ) == 1 ]
이에 대한 매뉴얼 페이지를 읽으면 [[
문자열 길이를 테스트할 것이라고 나와 있는데 이는 아마도 원하는 것이 아닐 수도 있습니다.