При использовании команд в bash мне нравится опция двойной вкладки для отображения доступных команд. Некоторые команды имеют больше возможных совпадений, чем другие:
Снимок экрана: завершение вкладки http://img13.imageshack.us/img13/5541/picturemhy.jpg
Есть ли способ, которым я могу передать вывод двойной вкладки куда-нибудь, как grep
? Я нашел связанный пост , но я все еще не уверен, как реализовать это, чтобы передать это grep.
grep
регулярное выражение?(y or n or g[rep])
? Ненавижу звучать пессимистично, но сомневаюсь, что это можно сделать, не добавляя его в код bash.Ответы:
Для команд используйте
compgen -c
:Этот вывод вы можете просто передать через канал
grep
.источник
Основываясь на ответе @ salutis, я создал скрипт, который я вызывал
comp
и сохранял в~/bin/comp
этих поискахcommands
',aliases
иbuiltins
(флаг опции-cab
см. Запись bash man ), с необязательным вторым параметром, который, если присутствует, направляет выводgrep
и ищет Второй параметрКод:
Лично мне также было бы интересно найти способ удалить последнюю команду из истории оболочки в скрипте (что-то связанное с ней
history -d
), чтобы при поиске вbash
истории я не находилcomp
записи. Я знаю, что я тоже могу сделать это,HISTIGNORE
но linux довольно мощный, поэтому должен быть способ сделать это из файла скрипта, тоже?источник
Почему бы не найти то, что вы ищете?
Пример:
Зная ваш вариант использования, я могу создать более подробный пример команды.
источник