반응형
Bash Shell Script의 "[: too many arguments" 에러는 저마다 요인이 좀 다를 수 있습니다.
1. 어떤 값을 입력해야하는 상황에서 엔터를 쳤을때 발생하는 경우
2. 값을 재대로 비교하지 못하거나 아예 스크립트 자체가 실행되지 않는 경우
대표적으로 위의 두가지 경우가 있는데, 보통은 if문 조건식에 있는 변수값이 비어버리는 경우에 발생 할 수 있습니다.
if [ $result == "1" -o $result == "2" ]; then
echo "good!"
fi
위와 같은 간단한 조건식이 있을 때 result 변수값이 비어버릴 경우 문법에 의해 조건식이 성립될 수 없어 "[: too many arguments" 에러가 발생 합니다.
해결 방법은 비교적 간단한데, 변수명을 큰따옴표("") 또는 작은따옴표('') 로 묶어주어서 변수가 비어 있더라도 조건식에 완전히 공백으로 들어가는 형태가 아닌, 비어있는 문자열로 인식 시켜야 합니다.
반응형
'Programming > Bash Shell Script' 카테고리의 다른 글
[Bash Shell Script] CentOS 7 Kubernetes 자동 설치 쉘 스크립트(mater node version) (3) | 2020.02.24 |
---|---|
[Bash Shell Script] 쉘 스크립트 랜덤 문자열, 난수 생성(랜덤 숫자) (2) | 2020.02.10 |
[Bash Shell Script] 쉘 스크립트 trap 명령어를 이용한 시그널 제어 (0) | 2019.12.17 |
[Bash Shell Script] 로그 추출, 정리 쉘 스크립트 예제 (0) | 2019.12.17 |
[Bash Shell Script] 백업 용량 변동 출력 쉘 스크립트 예제 (1) | 2019.12.12 |