On Sat, May 25, 2019 at 4:55 AM Quentin Monnet <quentin.monnet@xxxxxxxxxxxxx> wrote: > > 2019-05-24 22:38 UTC-0700 ~ Andrii Nakryiko <andriin@xxxxxx> > > Auto-complete BTF IDs for `btf dump id` sub-command. List of possible BTF > > IDs is scavenged from loaded BPF programs that have associated BTFs, as > > there is currently no API in libbpf to fetch list of all BTFs in the > > system. > > > > Suggested-by: Quentin Monnet <quentin.monnet@xxxxxxxxxxxxx> > > Signed-off-by: Andrii Nakryiko <andriin@xxxxxx> > > --- > > tools/bpf/bpftool/bash-completion/bpftool | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/tools/bpf/bpftool/bash-completion/bpftool b/tools/bpf/bpftool/bash-completion/bpftool > > index 75c01eafd3a1..9fbc33e93689 100644 > > --- a/tools/bpf/bpftool/bash-completion/bpftool > > +++ b/tools/bpf/bpftool/bash-completion/bpftool > > @@ -71,6 +71,13 @@ _bpftool_get_prog_tags() > > command sed -n 's/.*"tag": "\(.*\)",$/\1/p' )" -- "$cur" ) ) > > } > > > > +_bpftool_get_btf_ids() > > +{ > > + COMPREPLY+=( $( compgen -W "$( bpftool -jp prog 2>&1 | \ > > + command sed -n 's/.*"btf_id": \(.*\),\?$/\1/p' | \ > > + command sort -nu )" -- "$cur" ) ) > > +} > > Thanks! It works well. It looks like the "sort -nu" is not required, > however? Bash completion on my system seems to run the equivalent of > "sort -u" on the results anyway, ignoring the ordering you made just > before. As I understand this is what completion always does, unless we > pass "-o nosort" to "complete". > > E.g. I get the same following output: > > 1 1234 191 222 25 > > When completing with this function: > > _bpftool() > { > COMPREPLY+=( $( compgen -W "$( \ > command echo '1 1 1 191 1234 25 222')")) > } > complete -F _bpftool bpftool > > or with that one: > > _bpftool() > { > COMPREPLY+=( $( compgen -W "$( \ > command echo '1 1 1 191 1234 25 222' | \ > command sort -nu )" ) ) > } > complete -F _bpftool bpftool > > Could you double check you have the same thing on your setup, please? If > so we can just remove the "sort -nu". Yeah, seems like it behaves the same without sort -nu, I dropped it in v2. Thanks! > > Quentin