숫자를 인쇄하는 기능이 있습니다
myFunc() {
echo 11
}
이제 C 스타일 for 루프의 표현식에 숫자를 사용하고 싶습니다.
for (( i=1; i<=$(myFunc); i++ )); do
echo "$i"
done
지쉬가 나한테 줬어
test.sh:5: parse error near `i++ '
test.sh:6: parse error near `i<=$(myFunc); i++ ))...'
그리고 Bash는 예상대로 1에서 11까지 인쇄합니다. 지쉬에게 무슨 일이 일어났나요? 이 기능이 Bash와 호환되기를 바랍니다.
중요한 경우 내 환경은 다음과 같습니다.
- OSX 10.11.5
- zsh 5.0.8 (x86_64-apple-darwin15.0)
- GNU bash, 버전 3.2.57(1)-릴리스(x86_64-apple-darwin15)
고쳐 쓰다
이는 버그일 수 있으며 최신 버전에서는 수정되었을 수 있습니다. 확인되면 이 질문은 삭제하겠습니다.
답변1
내 zsh에서 작동합니다.
$ zsh --version
zsh 5.7.1 (x86_64-pc-linux-gnu)
$ myFunc() {
echo 11
}
$ for (( i=1; i<=$(myFunc); i++ )); do
echo "$i"
done
1
2
3
4
5
6
7
8
9
10
11
$
이것은 단지 버그일 수도 있습니다.