Команда Linux compgen – це вбудований bash, який використовується для надання різної інформації. Команда compgen у Linux насправді не є командою Linux, це частина виконуваного файлу bash. Отже, якби ви ввели «which compgen», ваша оболонка пробігла б усі місця, включені у вашу змінну $PATH, але просто не знайшла б її, повідомляє NetworkWorld.
Очевидно, команді which не пощастило його знайти.
$ which compgen /usr/bin/which: no compgen in (.:/home/shs/.local/bin:/home/shs/bin:/usr/local/bin: /usr/bin:/usr/local/sbin:/usr/sbin)
З іншого боку, якщо ви введете «man compgen», то потрапите на сторінку довідки для оболонки bash. З цієї довідкової сторінки можна прокрутити вниз до цього пояснення, якщо у вас достатньо терпіння, щоб його знайти.
compgen [option] [word]
Generate possible completion matches for word according to the options,
which may be any option accepted by the complete builtin with the exception
of -p and -r, and write the matches to the standard output. When using the
-F or -C options, the various shell variables set by the programmable com‐
pletion facilities, while available, will not have useful values.
The matches will be generated in the same way as if the programmable comple‐
tion code had generated them directly from a completion specification with
the same flags. If word is specified, only those completions matching word
will be displayed.
The return value is true unless an invalid option is supplied, or no matches
were generated.
Введення «help compgen» дасть вам короткий опис лише команди compgen:
$ help compgen
compgen: compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]
Display possible completions depending on the options.
Intended to be used from within a shell function generating possible
completions. If the optional WORD argument is supplied, matches against
WORD are generated.
Exit Status:
Returns success unless an invalid option is supplied or an error occurs.
Список команд за допомогою compgen
compgen – це вбудований bash, який використовується для надання різної інформації. Наприклад, він може перерахувати всі команди, які можна виконати в системі Linux.
Щоб отримати список усіх команд, доступних для прямого виконання, скористайтеся командою, подібною до наведеної нижче, але очікуйте більшого результату, ніж той, який ви бачите тут! Результати нижче серйозно скорочені.
$ comgen -c | column big5 pkaction c pkcheck egrep pkexec fgrep pkttyagent grep virt-admin install virt-host-validate l. virt-ssh-helper ll nm-online ls nmcli myprocs udisksctl myps cd-create-profile rec cd-fix-profile update cd-iccdump which cd-it8 xzegrep colormgr
Наведена нижче команда показує, скільки рядків виведення буде згенеровано командою, наведеною вище, якщо її не скоротити:
Перелік вбудованих bash за допомогою compgen
Також можна використовувати compgen, щоб отримати список усіх вбудованих bash. Наприклад, передавати вивід команді column, щоб полегшити перегляд.
Перелік ваших псевдонімів за допомогою compgen
Щоб змусити compgen перелічувати ваші псевдоніми, скористайтеся параметром -a так:
$ compgen -a | column
big5 egrep grep l. ls myps update xzegrep xzgrep zfgrep
c fgrep install ll myprocs rec which xzfgrep zegrep zgrep
Звичайно, можна використати команду псевдоніма (ймовірно, її легше запам’ятати) і побачити команду, з якою пов’язаний кожен псевдонім.
$ alias
alias big5='du -h | sort -h | tail -5'
alias c='clear'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias install='sudo dnf install'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias myprocs='ps -ef | grep shs'
alias myps='ps -ef | grep shs | awk '\''{print $2}'\'' '
alias rec='ls -ltr | tail -3'
alias update='sudo dnf upgrade –refresh'
alias which='(alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot'
alias xzegrep='xzegrep --color=auto'
alias xzfgrep='xzfgrep --color=auto'
alias xzgrep='xzgrep --color=auto'
alias zegrep='zegrep --color=auto'
alias zfgrep='zfgrep --color=auto'
alias zgrep='zgrep --color=auto'
Підсумки
Команда compgen може бути дуже зручною, але вона має багато параметрів для використання та визначення найкорисніших. З дуже короткими поясненнями вони перераховані нижче:
Підписуйтеся на ProIT у Telegram, щоб не пропустити жодну публікацію!