Это обычно верно в системах Unix, что количество ссылок на каталог является количеством подкаталогов плюс 2. Однако существуют случаи, где это не верно:
Некоторые нельды позволяют жесткие ссылки на каталоги. Затем будет больше чем 2 ссылки, которые не соответствуют подкаталогам.
Существуют файловые системы, где каталоги не имеют записей для .
и ..
. GNU находит, что руководство упоминает некоторые примеры в обсуждении -noleaf
опция (который отключает оптимизацию, которая принимает это .
и ..
существуйте во всех каталогах): “CD-ROM или файловые системы MS-DOS или точки монтирования тома AFS”
Почти надежный способ считать количество подкаталогов (это может все еще перестать работать, если имя файла содержит символ новой строки)
$(($(LC_ALL=C ls -la /path/to/directory | grep '^d' | wc -l) - 2)
Более надежный путь использует шарики оболочки */
и .*/
; поскольку обычная обработка случая, где шаблон не соответствует, является чем-то вроде боли (кроме удара и zsh, где можно включить nullglob
опция).
Согласно документу Вы связываетесь, необходимо быть в unix
подкаталог tcl8.5.9
запускать настраивать скрипт, не в tools
подкаталог.