On 19.10.2012 19:59, Chris Rees wrote: > On 19 October 2012 16:16, Alex Keda <admin_at_lissyara.su> wrote: >> On 19.10.2012 19:10, Vincent Hoffman wrote: >>> On 19/10/2012 15:39, Alex Keda wrote: >>>> pkg command does not have key for list options - no autocompletions >>>> >>>> for example, for service command, I use >>>> complete service 'n/*/`service -l`/' >>>> in .cshrc >>>> >>>> what I can use for pkg command? >>> >>> horrible but working example >>> pkg help 2>&1 | sed -e '1,/Commands supported:/d ; /For more information >>> on the different commands/,$d; s/^ *// ; s/ .*.*$// ;/^$/d' >>> >>> There's bound to be better ways, I was just bored enough to knock this up. >>> note s/^ *// is a tab, while s/ .*.*$// is 2 spaces >>> dont think our sed has any other way to express tab other than an actual >>> tab (ctrl-v then tab on the command line) >> >> it's crazy =) >> may be add -l options? > > For Bourne-style shell: > `pkg help 2>&1 | sed -nE 's,^ +(.*),\1,p'` > > For csh-style shell: > `pkg help | & sed -nE 's,^ +(.*),\1,p'` > > where the bit between ^ and + is a tab character. You can type the > tab character on a command prompt by using Ctrl+V then tab, or just > type it normally in the script. > > Hope that helps in the meantime. > > Chris > dc7700p# pkg -c Displays Performs a and check debug from inside local package packages remote search system updating -d Displays Performs a and ......... skipped ........ Displays Opens a against catalogues debug from inside link package packages register search system update dc7700p# dc7700p# grep pkg /root/.cshrc complete pkg 'n/*/`pkg help |& sed -nE "s,^ +(.*),\1,p"`/' some not work... I try my own string: complete pkg 'n/*/`pkg help |& grep "Commands supported:" --after-context=100 | grep "^\s" | awk "{print $1}"`/' output identical. maybe pipe not work in this place?Received on Fri Oct 19 2012 - 14:21:07 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:31 UTC