Невозможно сопоставить программы с общим количеством Bash из двойного нажатия - PullRequest
2 голосов
/ 25 февраля 2012

В Bash, если я дважды нажму клавишу табуляции, то увижу:

Показать все 1092 возможности?(y или n)

Фрагмент:

!         diff              ifconfig      mount.fuse        rcsdiff       tiff2pdf
./        diff3             ifdown        mount.ntfs-3g     rcsmerge      tiff2ps
:         diffutils-cmp     ifenslave     mount.ntfs-fuse   rdisc         tiff2rgba
GET       diffutils-diff    iftop         mountpoint        rdjpgcom      tiffcmp
HEAD      diffutils-diff3   ifup          msgattrib         read          tiffcp
MAKEDEV   diffutils-sdiff   ifup-local    msgcat            readelf       tiffdiff
POST      dig               igawk         msgcmp            readlink      tiffdither
[         dir               igd-client    msgcomm           readonly      tiffdump
--More--

Я подумал, что если я найду все исполняемые файлы в каталогах в моей переменной среды $PATH, то это будетсоздать список из одного столбца, соответствующий данным, отображаемым more.

Вот моя первая попытка:

echo $PATH | sed -e 's/:/ /g' -e "s/^/find / " | sh > commandlist.txt
wc -l commandlist.txt
1114 commandlist.txt

Итак, я добавил -xtype f и -perm /u=x, но все равно не получил1092:

echo $PATH | sed -e 's/:/ /g' -e "s/^/find / " -e "s/$/ -xtype f -perm \/u=x/" | sh | wc -l
1107

Как double tab key press в Bash генерирует общее значение «возможностей»?

1 Ответ

2 голосов
/ 26 февраля 2012

это похоже на работу:

compgen -cab | sort | uniq | wc -l

на моей машине он показывает тот же номер, что и табуляция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...