그래서 200000 번 반복되는 쉘 스크립트가 있습니다. 다음은 문제를 일으키는 코드 조각입니다.BASH '단항 연산자가 필요합니다'
if [ 1 -eq `echo "$sums>$maxs" | bc` ] ;
then
hmax=$h;
kmax=$k;
maxs=$sums;
fi
합계, maxs, h 및 k는 앞에서 정의했습니다. 나는 h와 k의 다른 값을 반복하고 있습니다. 합계는 그들로부터 계산됩니다. 그러나 h 및 k의 특정 값에 대해서만이 오류가 발생합니다.
(standard_in) 1: syntax error
./zhu-kanamori.sh: line 173: [: 1: unary operator expected
이유를 알 수 없습니다. 비슷한 질문을했지만 만족스러운 답변을 찾을 수 없었습니다. 그래서 누군가가 제가 해결책을 제시 할 수있는 곳으로 안내 할 수 있다면, 그것은 또한 아주 좋을 것입니다. 두 개의 수레를 비교하는 방법에 대해 명확합니다. 하지만 내 질문에 왜 경우에만이 오류가 발생합니까?
질문을 좀 더 간결하게 작성하면 도움이 될 것입니다. – Fred
좋아,하지만 방금 컨텍스트에 대한 전체 코드를 추가했습니다. 실제 질문은 시작 단계에 불과합니다. 나는 지금 그것을 바꿀거야. – Archon
'(표준 _1) 1 : 구문 오류 '는'bc'에 의해 생성 된 오류입니다. 분명히'$ sums'와'$ maxs'는 여러분이 생각하는 것과 다르다. (즉, 단순한 숫자가 아닙니다.) –