쉘스크립트,seq 에 관한 질문입니다.
글쓴이: jw8704 / 작성시간: 월, 2010/05/24 - 3:48오후
/etc/cron.daily/cyrus-imapd
ROTATE=6
seq $[ $ROTATE -1 ] 1 | while read i; do "Sentence"
라는것의 1 이게 뭐하는건지 이해가 안되어서 다음과 같은 작업을 해봤습니다.
seq $ [ $ROTATE -1 ] | while read i; do
echo $i
done
이렇게 하면 5,4,3,2,1 이 출력이 되지만
seq $ [ $ROTATE -1 ] 1 | while read i; do
echo $i
done
하면 아무것도 출력되지않습니다.
1을 왜 붙여준걸까요?
조언부탁드립니다.
Forums:
end charcter 값이네요.
상황을 전반적으로 이해하자면, 무한루프라고 해야 하나?
그게 돌아가는 것 같네요.
출력이 안되니까, 종료값을 넣어준것 같은데,
이해는 되지만, 좀 프로그램이 이상하네요.
man seq
cyrus-imapd code는 제 시스템에선(ubuntu 10.04) 정상적으로 돌아가지 않습니다.
FIRST값 5, last값 1은 있으나 increment값이 생략된 경우(무조건 1로 간주)하므로 loop를 돌지 않습니다.
예를 든 것처럼 1을 생략하면, first값 1(default), last값 5, increment 1(default)이므로 1,2,3,4,5가 찍힙니다.
그러나 1을 추가하면, first값 5, last값 1, increment 1(default)이므로 loop를 돌지 않습니다.
ps)
cyrus-imapd가 깔린 system에서 man seq 해보시길
해당 system에선 increment가 생략된 경우, first가 last보다 크다면 자동으로 increment를 -1로 해줄지도 모르겠군요.
저도 좀 궁금했던게
저도 좀 궁금했던게 ROTATE=1 로 잡으면 seq 0 1 이 되고 1이 출력 됩니다..
그런데 왜 저 상황에서는 아무것도 안 떨어질까요..