4행: 5+: 구문 오류: 피연산자가 필요합니다("+"로 표시된 오류).

4행: 5+: 구문 오류: 피연산자가 필요합니다("+"로 표시된 오류).

Ubuntu(53-Ubuntu x86_64 x86_64 x86_64 GNU/Linux)에서 아래 나열된 bash 스크립트를 실행하는 동안 제목 줄에 언급된 오류를 발견했습니다.

#!/bin/bash

read x y
echo $(($x + $y))

그러나 Redhat 및 CentOS에서도 완벽하게 실행됩니다.

왜 이런 일이 발생하는지 알려주세요. 모든 운영 체제에는 bash 버전 4.3.11(1) 릴리스가 있습니다.

답변1

두 개가 아닌 하나의 입력 번호만 제공하기 때문에 오류가 발생합니다. 이 경우 read는 이 숫자를 변수에 할당 x하지만 y비어 있는 상태로 유지되므로 다음 줄은 다음과 같습니다 echo $(($x + )). 우리는 연산자에 +두 개의 피연산자가 필요하다는 것을 알고 있지만 여기 y(두 번째 피연산자)가 누락되어 오류가 발생합니다 operand expected (error token is “+ ”).

관련 정보