ワイルドカード検索コマンドの使用

ワイルドカード検索コマンドの使用

私はいくつかの調査をしましたが、残念ながら私の質問に対する答えはありませんでした。私に最も近い質問は次のとおりです。bash コマンドの検索

必要なもの: 検索コマンドインストール済みワイルドカード文字を使用するコマンド。何かを削除したいのですが、コマンドを忘れてしまったとしましょう。 「インストール」が含まれていることを知っています。だから私は次のようにします:

searchfor *mount*

これがunmount私に必要な命令であることがわかりました。私は知っman -kていますyum whatprovides。しかし、それは私が探しているものではありません。みんなで検索したいインストール済みコマンド(変数が提供するディレクトリにあります$PATH)。

ベストアンサー1

私の好きな方法は、compgen -c以下を含むすべてのコマンドを見つけることです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

ボーナスは、compgen -c次のエイリアス、ユーザー機能、およびBashの組み込みコマンドも見つけることができるということです。

$ 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

しかもcompgenBashの一部なので常に使えます。説明したようにhelp compgen:

オプションに従って可能な完了を表示します。

可能な完成を生成するシェル関数内で使用するためのものです。オプションのWORDパラメーターが指定されると、WORDの一致が生成されます。

終了ステータス:
無効なオプションが指定されているかエラーが発生しない限り、成功を返します。

おすすめ記事