for i in {1..40}
do
echo $i
done
나는 가지고있다
{1..40}
나는 다음과 같은 것을 원한다
1
2
3
and so on
i
따라서 명령의 매개변수에서 해당 변수를 사용할 수 있습니다.
답변1
존재하다세게 때리다3.0 이상(및 zsh 및 ksh93)은 {1..40}
1~40(포함)으로 확장됩니다. 안에POSIX 쉘대시( /bin/sh
우분투에서 일반적임)와 마찬가지로 작동하지 않습니다(우리는 이 문제를 "bashism"이라고 부릅니다).
GNU 유틸리티가 있는 시스템에서는 다음 명령을 사용하여 seq
이를 수행할 수 있습니다.
for i in $(seq 1 40)
do
echo $i
done
이식성을 높이려면 루프에서 수동으로 증가 해야 합니다 $i
.while
i=1
while [ $i -le 40 ]
do
echo $i
i=$((i+1))
done
이 휴대용 버전은 외부 명령이 없기 때문에 약간 더 빠릅니다.