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 “+ ”)
.