数字を印刷する機能があります
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
$
これは単なるバグかもしれません。