for 문 결과에 대한 문법 오류 검증 질문입니다.
글쓴이: khalisto / 작성시간: 수, 2015/03/18 - 6:03오후
안녕하세요.
현재 for 루프를 통해 프로그래밍을 하고 있는데 막히는 부분이 있어 조언을 얻고자 질문드립니다.
아래는 소스코드입니다.
A=$(cat aa | xargs)
B=$(echo $A | awk '{print NF}')
for ((i=1;i<=$B;i++)); do
Ai=$(echo $A | awk '{print $'$i'}')
echo -n "$Ai "
done
echo
aa 파일의 내용은
apple
banana
orange
이며 위 프로그램을 실행하면 Ai 변수의 값을 파일 내용 순서대로 출력합니다. (i = 1~3까지)
A1=apple A2=banana A3=orange
이를 응용하여 for의 조건절에 for ((i=$B;i<1;i--)); do 와 같이 초기값이 $B(정수) 에서 1보다 작거나 같을 때까지
i를 1씩 감소하여 처리하는 결과가
orange banana apple (즉 위의 역순 출력) 와 같이 나타내려고 테스트 해보았으나 쉘에 아무런 결과가 나오지 않았습니다.
혹시 제가 생각한 for ((i=$B;i<1;i--)); do 가 틀린 부분이 있는지요??
Forums:
i<1이 아니라 i>1이 맞습니다. for문의
i<1이 아니라 i>1이 맞습니다.
for문의 조건절은 끝나는 조건이 아니라, 반복을 계속하게 하는 조건이기 때문이지요.
답변 감사합니다.
가르쳐주신 방법을 응용해 소스코드에 적용해보니 정상적으로 출력되는것을 확인하였습니다.
덕분에 몰랐던 부분까지 잘 알게 되었습니다.
정말 감사드립니다. ^^
댓글 달기