vty_transcript_test> list
...
  multi0 (one|two|three)
  multi1 ([one]|[two]|[three])
  multi2 [(one|two|three)]

vty_transcript_test> multi0 ?
  one    1
  two    2
  three  3

vty_transcript_test> multi0 one
ok argc=1 one

vty_transcript_test> multi0 two
ok argc=1 two

vty_transcript_test> multi0 o
ok argc=1 one

vty_transcript_test> multi0 t
% Ambiguous command.

vty_transcript_test> multi0 th
ok argc=1 three

vty_transcript_test> multi0
% Command incomplete.

vty_transcript_test> multi1 ?
  [one]    1
  [two]    2
  [three]  3

vty_transcript_test> multi1 one
ok argc=1 one

vty_transcript_test> multi1 two
ok argc=1 two

vty_transcript_test> multi1 o
ok argc=1 one

vty_transcript_test> multi1 t
% Ambiguous command.

vty_transcript_test> multi1 th
ok argc=1 three

vty_transcript_test> multi1
ok argc=0

vty_transcript_test> multi1 [one]
% Unknown command.

vty_transcript_test> multi2 ?
  [one]    1
  [two]    2
  [three]  3

vty_transcript_test> multi2 one
ok argc=1 one

vty_transcript_test> multi2 two
ok argc=1 two

vty_transcript_test> multi2
ok argc=0

vty_transcript_test> multi0 thr
ok argc=1 three

vty_transcript_test> multi1 on
ok argc=1 one

vty_transcript_test> multi2 t
% Ambiguous command.

vty_transcript_test> single0 one
ok argc=1 one

vty_transcript_test> single0 on
ok argc=1 one

vty_transcript_test> single0
ok argc=0

vty_transcript_test> show vty-attributes
  Global attributes:
    ^  This command is hidden (check expert mode)
    !  This command applies immediately
    @  This command applies on VTY node exit
  Library specific attributes:
    A  This command applies on ASP restart
    I  This command applies on IPA link establishment
    L  This command applies on E1 line update
  Application specific attributes:
    u  Unbelievable: not able to be believed; unlikely to be true
    m  Magnificent: impressively beautiful, elaborate, or extravagant
    w  Wonderful: inspiring delight, pleasure, or admiration
    n  Intentionally unused attribute, ignore me

vty_transcript_test> en
vty_transcript_test# configure terminal
vty_transcript_test(config)# attribute-test

vty_transcript_test(config-attr-test)# list
... !foo-(hidden|deprecated)
  foo-immediate
  foo-node-exit
  app-unbelievable
  app-magnificent
  app-wonderful
  app-unbelievable-magnificent
  app-unbelievable-wonderful
... !app-hidden-*

vty_transcript_test(config-attr-test)# list with-flags
... !foo-(hidden|deprecated)
  ! ...  foo-immediate
  @ ...  foo-node-exit
  . u..  app-unbelievable
  . .m.  app-magnificent
  . ..w  app-wonderful
  . um.  app-unbelievable-magnificent
  . u.w  app-unbelievable-wonderful
... !app-hidden-*

vty_transcript_test(config-attr-test)# foo-deprecated?
% There is no matched command.
vty_transcript_test(config-attr-test)# foo-hidden?
% There is no matched command.
vty_transcript_test(config-attr-test)# app-hidden-unbelievable?
% There is no matched command.

vty_transcript_test(config-attr-test)# end
vty_transcript_test# disable

vty_transcript_test> enable?
  enable  Turn on privileged mode command
vty_transcript_test> enable ?
  [expert-mode]  Enable the expert mode (show hidden commands)

vty_transcript_test> enable expert-mode
vty_transcript_test# configure terminal
vty_transcript_test(config)# attribute-test

vty_transcript_test(config-attr-test)# list
... !foo-deprected
  foo-hidden [expert-mode]
  foo-immediate
  foo-node-exit
  app-unbelievable
  app-magnificent
  app-wonderful
  app-unbelievable-magnificent
  app-unbelievable-wonderful
  app-hidden-unbelievable

vty_transcript_test(config-attr-test)# list with-flags
... !foo-deprected
  ^ ...  foo-hidden [expert-mode]
  ! ...  foo-immediate
  @ ...  foo-node-exit
  . u..  app-unbelievable
  . .m.  app-magnificent
  . ..w  app-wonderful
  . um.  app-unbelievable-magnificent
  . u.w  app-unbelievable-wonderful
  ^ u..  app-hidden-unbelievable

vty_transcript_test(config-attr-test)# foo-deprecated?
% There is no matched command.
vty_transcript_test(config-attr-test)# foo-hidden?
  foo-hidden  This command is hidden
vty_transcript_test(config-attr-test)# foo-hidden ?
  [expert-mode]  But can be seen in the expert mode
vty_transcript_test(config-attr-test)# app-hidden-unbelievable?
  app-hidden-unbelievable  Hidden, but still unbelievable help message

vty_transcript_test(config-attr-test)# exit

vty_transcript_test(config)# nest A
vty_transcript_test(config-a)# state
A
vty_transcript_test(config-a)# nest B
vty_transcript_test(config-b)# state
B
vty_transcript_test(config-b)# nest C
vty_transcript_test(config-c)# state
C
vty_transcript_test(config-c)# exit
vty_transcript_test(config-b)# state
B
vty_transcript_test(config-b)# exit
vty_transcript_test(config-a)# state
A
vty_transcript_test(config-a)# nest B2
vty_transcript_test(config-b)# state
B2
vty_transcript_test(config-b)# nest C2
vty_transcript_test(config-c)# state
C2
vty_transcript_test(config-c)# exit
vty_transcript_test(config-b)# state
B2
vty_transcript_test(config-b)# exit
vty_transcript_test(config-a)# state
A
