![예상치 못한 표시 '}' 근처에 구문 오류가 있습니다.](https://linux55.com/image/145448/%EC%98%88%EC%83%81%EC%B9%98%20%EB%AA%BB%ED%95%9C%20%ED%91%9C%EC%8B%9C%20'%7D'%20%EA%B7%BC%EC%B2%98%EC%97%90%20%EA%B5%AC%EB%AC%B8%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
함수를 작성하려고 하는데 구문 오류가 발생합니다. 다음은 내 기능입니다.
checkNoOfParameter () {
if [[ ${1} -eq ${2} ]]
then
job_Status = $true
else
job_Status = $false
echo "Please provide all \"${2}\" arguments with single space separation"
readArgumentsFromUser ${2}
}
나는 다음과 같이 함수를 호출합니다.
readArgumentsFromUser () {
read -a input
checkNoOfParameter ${#input[*]} ${1}
}
readArgumentsFromUser 3
답변1
fi
함수를 닫기 전에 닫는 if 문이 누락되었습니다 .}
또한 작업에 있어서는 안 되는 공백이 있으므로 "job_Status: 명령을 찾을 수 없음" 오류가 발생합니다. 양쪽에서 공백을 제거하십시오 =
.
답변2
"fi"가 누락되었습니다.
checkNoOfParameter () {
if [[ ${1} -eq ${2} ]]
then
job_Status = $true
else
job_Status = $false
echo "Please provide all \"${2}\" arguments with single space separation"
readArgumentsFromUser ${2}
fi
}
또한 "[[ ... ]]" 안에 "-eg"를 사용하지 마십시오.
이러한 문제를 해결하려면 이 도구를 확인하십시오.https://www.shellcheck.net/