Нужно отфильтровать список по текущему аргументу, так:
COMPREPLY=( $(compgen -W "$(ls ~/Special)" -- "$2") )
Запись size
возвращает поле nr_sects
структуры блочного устройства. Традиционно в контексте размера диска Unix «сектор» или «блок» означает 512 байтов, независимо от того, что производитель базового оборудования может назвать «сектором» или «блоком». Я не могу найти авторитетную документацию, но глядя на исходный код Linux (например, 1 ) 2 ), похоже, что поле nr_sects
действительно выражено в единицах 512 байт.
Вы можете подойти к этому по-другому: поскольку нет файла, сообщающего об этой единице, она должна быть постоянной единицей, иначе приложения не будут знать, что означает значение. (Подкаталог очереди
не обязательно присутствует, это зависит от блочного устройства.)