O meu caminho é usar compgen -c
. Por exemplo, para encontrar todos
comandos que contêm mount
:
$ compgen -c | grep mount
gvfs-mount
mmount
ideviceimagemounter
grub-mount
humount
hmount
umount
mountpoint
mount
fusermount
umount
mount.ntfs
mount.lowntfs-3g
mount.cifs
umount.udisks
mount.nfs
umount.nfs
mount
mount.ntfs-3g
mount.fuse
showmount
rpc.mountd
mountesp
umount.udisks2
mountstats
automount
O que é bom em compgen -c
é que ele também encontra aliases, funções de usuário e comandos internos do Bash, por exemplo:
$ alias aoeuidhtn='echo hi'
$ compgen -c | grep aoeuidhtn
aoeuidhtn
$ my-great-function() { printf "Inside great function()\n"; }
$ compgen -c | grep great
my-great-function
$ compgen -c | grep '^cd$'
cd
Além disso, compgen
faz parte do Bash, por isso está sempre disponível. Conforme descrito por help compgen
:
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.