私は、コマンドラインにargv
変数を繰り返して表示するCプログラムを持っています。zshはどのくらい正確にグロブを展開しますか?
#include <stdio.h>
int main(int argc, char *argv[]){
int i = 0;
printf("----------\n");
for(i = 0; i < argc; i++)
printf("%s\n", argv[i]);
return 0;
}
私はこのような大規模なC++ソースツリーを含むフォルダにプログラムを起動さ:任意のなしls
とgrep
仕事のようなプログラム、しかし
zsh: argument list too long: ./a.out
:
./a.out **/*.h
出力同じフォルダ内の**/*.h
グロブを使用して呼び出されたときの問題プログラムを呼び出すときにzsh
が失敗するのはなぜですか? zsh
はどのようにワイルドカードを展開しますか?
編集:私はcygwinでzshを使用しています。
なぜダブル「*」を使用する代わりに、コマンドラインで「*」を1つだけ使用しますか? –