++ history -a root@vyos:~# ls + local cur prev words cword split + _init_completion -s + local exclude= flag outx errx inx OPTIND=1 + getopts n:e:o:i:s flag -s + case $flag in + split=false + exclude+== + getopts n:e:o:i:s flag -s + COMPREPLY=() + local 'redir=@(?([0-9])<|?([0-9&])>?(>)|>&)' + _get_comp_words_by_ref -n '=<>&' cur prev words cword + local exclude flag i OPTIND=1 + words=() + local cur cword words + upargs=() + upvars=() + local upargs upvars vcur vcword vprev vwords + getopts c:i:n:p:w: flag -n '=<>&' cur prev words cword + case $flag in + exclude='=<>&' + getopts c:i:n:p:w: flag -n '=<>&' cur prev words cword + [[ 6 -ge 3 ]] + case ${!OPTIND} in + vcur=cur + let 'OPTIND += 1' + [[ 6 -ge 4 ]] + case ${!OPTIND} in + vprev=prev + let 'OPTIND += 1' + [[ 6 -ge 5 ]] + case ${!OPTIND} in + vwords=words + let 'OPTIND += 1' + [[ 6 -ge 6 ]] + case ${!OPTIND} in + vcword=cword + let 'OPTIND += 1' + [[ 6 -ge 7 ]] + __get_cword_at_cursor_by_ref '=<>&' words cword cur + words=() + local cword words + __reassemble_comp_words_by_ref '=<>&' words cword + local exclude i j line ref + [[ -n =<>& ]] + exclude='=<>&' + printf -v cword %s 1 + [[ -n =<>& ]] + line='ls ' + (( i=0, j=0 )) + (( i < 2 )) + [[ 0 -gt 0 ]] + ref='words[0]' + printf -v 'words[0]' %s ls + line=' ' + [[ 0 == 1 ]] + (( i++, j++ )) + (( i < 2 )) + [[ 1 -gt 0 ]] + [[ '' == +([=<>&]) ]] + ref='words[1]' + printf -v 'words[1]' %s '' + line=' ' + [[ 1 == 1 ]] + printf -v cword %s 1 + (( i++, j++ )) + (( i < 2 )) + [[ 2 == 1 ]] + local i cur index=3 'lead=ls ' + [[ 3 -gt 0 ]] + [[ -n ls ]] + [[ -n ls ]] + cur='ls ' + (( i = 0 )) + (( i <= cword )) + [[ 3 -ge 2 ]] + [[ ls != \l\s ]] + [[ 0 -lt 1 ]] + local old_size=3 + cur=' ' + local new_size=1 + index=1 + (( ++i )) + (( i <= cword )) + [[ 1 -ge 0 ]] + [[ '' != '' ]] + [[ 1 -lt 1 ]] + (( ++i )) + (( i <= cword )) + [[ -n ]] + [[ ! -n '' ]] + cur= + [[ 1 -lt 0 ]] + local words cword cur + _upvars -a2 words ls '' -v cword 1 -v cur '' + (( 10 )) + (( 10 )) + case $1 in + [[ -n 2 ]] + printf %d 2 + [[ -n words ]] + unset -v words + eval 'words=("${@:3:2}")' ++ words=("${@:3:2}") + shift 4 + (( 6 )) + case $1 in + [[ -n cword ]] + unset -v cword + eval 'cword="$3"' ++ cword=1 + shift 3 + (( 3 )) + case $1 in + [[ -n cur ]] + unset -v cur + eval 'cur="$3"' ++ cur= + shift 3 + (( 0 )) + [[ -n cur ]] + upvars+=("$vcur") + upargs+=(-v $vcur "$cur") + [[ -n cword ]] + upvars+=("$vcword") + upargs+=(-v $vcword "$cword") + [[ -n prev ]] + [[ 1 -ge 1 ]] + upvars+=("$vprev") + upargs+=(-v $vprev "${words[cword - 1]}") + [[ -n words ]] + upvars+=("$vwords") + upargs+=(-a${#words[@]} $vwords "${words[@]}") + (( 4 )) + local cur cword prev words + _upvars -v cur '' -v cword 1 -v prev ls -a2 words ls '' + (( 13 )) + (( 13 )) + case $1 in + [[ -n cur ]] + unset -v cur + eval 'cur="$3"' ++ cur= + shift 3 + (( 10 )) + case $1 in + [[ -n cword ]] + unset -v cword + eval 'cword="$3"' ++ cword=1 + shift 3 + (( 7 )) + case $1 in + [[ -n prev ]] + unset -v prev + eval 'prev="$3"' ++ prev=ls + shift 3 + (( 4 )) + case $1 in + [[ -n 2 ]] + printf %d 2 + [[ -n words ]] + unset -v words + eval 'words=("${@:3:2}")' ++ words=("${@:3:2}") + shift 4 + (( 0 )) + _variables + [[ '' =~ ^(\$(\{[!#]?)?)([A-Za-z0-9_]*)$ ]] + [[ '' =~ ^(\$\{[#!]?)([A-Za-z0-9_]*)\[([^]]*)$ ]] + [[ '' =~ ^\$\{[#!]?[A-Za-z0-9_]*\[.*]$ ]] + case $prev in + return 1 + [[ '' == @(?([0-9])<|?([0-9&])>?(>)|>&)* ]] + [[ ls == @(?([0-9])<|?([0-9&])>?(>)|>&) ]] + local i skip + (( i=1 )) + (( i < 2 )) + [[ '' == @(?([0-9])<|?([0-9&])>?(>)|>&)* ]] + i=2 + (( 1 )) + (( i < 2 )) + [[ 1 -le 0 ]] + prev=ls + [[ -n false ]] + _split_longopt + [[ '' == --?*=* ]] + return 1 + return 0 + case "${prev,,}" in + false + [[ '' == -* ]] + [[ ls == @(rmdir|chroot) ]] + [[ ls == mkdir ]] + _filedir + local 'IFS= ' + _tilde '' + local result=0 + [[ '' == \~* ]] + return 0 + local -a toks + local x reset ++ shopt -po noglob + reset='set -o noglob' + set -o noglob + toks=($( compgen -d -- "$cur" )) ++ compgen -d -- '' + eval 'set -o noglob' ++ _vyatta_op_run set -o noglob ++ local -i estat ++ local tpath=/opt/vyatta/share/vyatta-op/templates +++ tr '\n' ';' +++ shopt -p extglob nullglob ++ local 'restore_shopts=shopt -s extglob;shopt -u nullglob;' ++ shopt -s extglob nullglob ++ _vyatta_op_last_comp='>>>>>>LASTCOMP<<<<<<' ++ false ++ estat=1 ++ stty echo ++ i=1 ++ declare -a args ++ for arg in "$@" ++ local orig_arg=set ++ [[ set == \* ]] ++ arg=($(_vyatta_op_conv_node_path $tpath $arg)) +++ _vyatta_op_conv_node_path /opt/vyatta/share/vyatta-op/templates set +++ local node_path +++ local node +++ local -a ARR +++ node_path=/opt/vyatta/share/vyatta-op/templates +++ node=set +++ ARR=($(compgen -d $node_path/$node)) ++++ compgen -d /opt/vyatta/share/vyatta-op/templates/set +++ [[ 1 == \1 ]] +++ echo set ++ [[ '' == \a\m\b\i\g\u\o\u\s ]] ++ [[ '' == \i\n\v\a\l\i\d ]] ++ '[' -f /opt/vyatta/share/vyatta-op/templates/set/node.def ']' ++ tpath+=/set ++ [[ set == \n\o\d\e\.\t\a\g ]] ++ args[$i]=set ++ let i+=1 ++ for arg in "$@" ++ local orig_arg=-o ++ [[ -o == \* ]] ++ arg=($(_vyatta_op_conv_node_path $tpath $arg)) +++ _vyatta_op_conv_node_path /opt/vyatta/share/vyatta-op/templates/set -o +++ local node_path +++ local node +++ local -a ARR +++ node_path=/opt/vyatta/share/vyatta-op/templates/set +++ node=-o +++ ARR=($(compgen -d $node_path/$node)) ++++ compgen -d /opt/vyatta/share/vyatta-op/templates/set/-o +++ [[ 0 == \1 ]] +++ [[ 0 == \0 ]] +++ [[ -d /opt/vyatta/share/vyatta-op/templates/set/node.tag ]] +++ echo '-o tag' ++ [[ '' == \a\m\b\i\g\u\o\u\s ]] ++ [[ '' == \i\n\v\a\l\i\d ]] ++ '[' -f '/opt/vyatta/share/vyatta-op/templates/set/-o tag/node.def' ']' ++ '[' -f /opt/vyatta/share/vyatta-op/templates/set/node.tag/node.def ']' ++ tpath+=/node.tag ++ [[ -o tag == \n\o\d\e\.\t\a\g ]] ++ args[$i]='-o tag' ++ let i+=1 ++ for arg in "$@" ++ local orig_arg=noglob ++ [[ noglob == \* ]] ++ arg=($(_vyatta_op_conv_node_path $tpath $arg)) +++ _vyatta_op_conv_node_path /opt/vyatta/share/vyatta-op/templates/set/node.tag noglob +++ local node_path +++ local node +++ local -a ARR +++ node_path=/opt/vyatta/share/vyatta-op/templates/set/node.tag +++ node=noglob +++ ARR=($(compgen -d $node_path/$node)) ++++ compgen -d /opt/vyatta/share/vyatta-op/templates/set/node.tag/noglob +++ [[ 0 == \1 ]] +++ [[ 0 == \0 ]] +++ [[ -d /opt/vyatta/share/vyatta-op/templates/set/node.tag/node.tag ]] +++ echo 'noglob invalid' ++ [[ '' == \a\m\b\i\g\u\o\u\s ]] ++ [[ '' == \i\n\v\a\l\i\d ]] ++ '[' -f '/opt/vyatta/share/vyatta-op/templates/set/node.tag/noglob invalid/node.def' ']' ++ '[' -f /opt/vyatta/share/vyatta-op/templates/set/node.tag/node.tag/node.def ']' ++ echo -ne '\n Invalid command: set' '-o tag [noglob invalid]\n\n' Invalid command: set -o tag [noglob invalid] ++ eval 'shopt -s extglob;shopt -u nullglob;' +++ shopt -s extglob +++ shopt -u nullglob ++ return 1 + [[ '' != -d ]] + local quoted + _quote_readline_by_ref '' quoted + '[' -z '' ']' + printf -v quoted %s '' + [[ '' == \$* ]] + local xspec= ++ shopt -po noglob + reset='set -o noglob' + set -o noglob + toks+=($( compgen -f -X "$xspec" -- $quoted )) ++ compgen -f -X '' -- + eval 'set -o noglob' ++ _vyatta_op_run set -o noglob ++ local -i estat ++ local tpath=/opt/vyatta/share/vyatta-op/templates +++ tr '\n' ';' +++ shopt -p extglob nullglob ++ local 'restore_shopts=shopt -s extglob;shopt -u nullglob;' ++ shopt -s extglob nullglob ++ _vyatta_op_last_comp='>>>>>>LASTCOMP<<<<<<' ++ false ++ estat=1 ++ stty echo ++ i=1 ++ declare -a args ++ for arg in "$@" ++ local orig_arg=set ++ [[ set == \* ]] ++ arg=($(_vyatta_op_conv_node_path $tpath $arg)) +++ _vyatta_op_conv_node_path /opt/vyatta/share/vyatta-op/templates set +++ local node_path +++ local node +++ local -a ARR +++ node_path=/opt/vyatta/share/vyatta-op/templates +++ node=set +++ ARR=($(compgen -d $node_path/$node)) ++++ compgen -d /opt/vyatta/share/vyatta-op/templates/set +++ [[ 1 == \1 ]] +++ echo set ++ [[ '' == \a\m\b\i\g\u\o\u\s ]] ++ [[ '' == \i\n\v\a\l\i\d ]] ++ '[' -f /opt/vyatta/share/vyatta-op/templates/set/node.def ']' ++ tpath+=/set ++ [[ set == \n\o\d\e\.\t\a\g ]] ++ args[$i]=set ++ let i+=1 ++ for arg in "$@" ++ local orig_arg=-o ++ [[ -o == \* ]] ++ arg=($(_vyatta_op_conv_node_path $tpath $arg)) +++ _vyatta_op_conv_node_path /opt/vyatta/share/vyatta-op/templates/set -o +++ local node_path +++ local node +++ local -a ARR +++ node_path=/opt/vyatta/share/vyatta-op/templates/set +++ node=-o +++ ARR=($(compgen -d $node_path/$node)) ++++ compgen -d /opt/vyatta/share/vyatta-op/templates/set/-o +++ [[ 0 == \1 ]] +++ [[ 0 == \0 ]] +++ [[ -d /opt/vyatta/share/vyatta-op/templates/set/node.tag ]] +++ echo '-o tag' ++ [[ '' == \a\m\b\i\g\u\o\u\s ]] ++ [[ '' == \i\n\v\a\l\i\d ]] ++ '[' -f '/opt/vyatta/share/vyatta-op/templates/set/-o tag/node.def' ']' ++ '[' -f /opt/vyatta/share/vyatta-op/templates/set/node.tag/node.def ']' ++ tpath+=/node.tag ++ [[ -o tag == \n\o\d\e\.\t\a\g ]] ++ args[$i]='-o tag' ++ let i+=1 ++ for arg in "$@" ++ local orig_arg=noglob ++ [[ noglob == \* ]] ++ arg=($(_vyatta_op_conv_node_path $tpath $arg)) +++ _vyatta_op_conv_node_path /opt/vyatta/share/vyatta-op/templates/set/node.tag noglob +++ local node_path +++ local node +++ local -a ARR +++ node_path=/opt/vyatta/share/vyatta-op/templates/set/node.tag +++ node=noglob +++ ARR=($(compgen -d $node_path/$node)) ++++ compgen -d /opt/vyatta/share/vyatta-op/templates/set/node.tag/noglob +++ [[ 0 == \1 ]] +++ [[ 0 == \0 ]] +++ [[ -d /opt/vyatta/share/vyatta-op/templates/set/node.tag/node.tag ]] +++ echo 'noglob invalid' ++ [[ '' == \a\m\b\i\g\u\o\u\s ]] ++ [[ '' == \i\n\v\a\l\i\d ]] ++ '[' -f '/opt/vyatta/share/vyatta-op/templates/set/node.tag/noglob invalid/node.def' ']' ++ '[' -f /opt/vyatta/share/vyatta-op/templates/set/node.tag/node.tag/node.def ']' ++ echo -ne '\n Invalid command: set' '-o tag [noglob invalid]\n\n' Invalid command: set -o tag [noglob invalid] ++ eval 'shopt -s extglob;shopt -u nullglob;' +++ shopt -s extglob +++ shopt -u nullglob ++ return 1 + [[ -n '' ]] + [[ 4 -ne 0 ]] + compopt -o filenames + COMPREPLY+=("${toks[@]}") .^C ++ history -a root@vyos:~# exec 2>/dev/tty + exec