Пределы длины для расширения * в Bash? - PullRequest
5 голосов
/ 24 июня 2011

В Баш

echo *

почти эквивалентно ls.

Вы можете делать такие вещи, как

echo */*-out/*.html > all-my-html-files-on-one-line

Так как * является аргументом командной строки , то на длину должно быть ограничение.

Что это за предел?

Различен ли предел между echo командой Bash и /bin/echo программой?

Ответы [ 2 ]

6 голосов
/ 24 июня 2011

Оболочка не ограничивает это

Вы можете увидеть ограничение для вашей системы с помощью (запустите на моем 64-битном Linux:)

$ getconf ARG_MAX
2097152

См. Эту очень информационную страницу http://www.in -ulm.de / ~ mascheck / различные / Argmax /

2 голосов
/ 24 июня 2011

Я полагаю, что предел командной строки - это значение ARG_MAX, которое вы можете увидеть с помощью

getconf ARG_MAX

Это не переменная bash, которая предполагает, что ограничение одинаково для echo в bashи /bin/echo.

...