작성
·
349
0
안녕하세요. 리눅스 쉘 스크립트 수강생입니다.
반복문 인자 형태 중 기본/range/C-style 이 있었는데 기본의 경우는 배열과 달리 string 타입이고 공백을 구분자로 각각의 인자로 구분하는 것이 맞나요?
ex) A="0 1 2 3"
1번이 맞다면 for n in ${A} 했을 때, 그럼 각각의 n 은 integer 취급이 되는지, string 취급이 되는지 궁금합니다.
배열 unset 시 배열 통으로 메모리에서 제거하려면 각 index나 key 접근을 통한 unset이 아니라 변수 자체 unset을 하면 가능한가요?
ex) A=(0 1 2 3)
unset A
답변 1
0
안녕하세요. ever for님
네. 공백으로 구분되는 것이 맞습니다.
각 항목은 "0", "1", "2", "3"이라고 볼 수 있는데요, 이건 숫자이니 integer로 취급된다 할 수 있습니다. 그래서 if문으로 $n을 테스트할 때 -eq, -ne와 같은 integer 비교 테스트 연산자를 사용할 수 있습니다.
배열도 통으로 unset 가능합니다. 본문에 적으신 것처럼 unset A 하시면 됩니다.