(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROG='> name:PROG) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<basename>} {($ Id.VSub_Number 0)}) right: <Id.Backtick_Right '`'> ) } spids: [91] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH) op: assign_op.Equal rhs: {(DQ <'/usr/sbin:/usr/bin'>)} spids: [100] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEXTDOMAIN='> name:TEXTDOMAIN) op: assign_op.Equal rhs: {(DQ <SUNW_OST_OSCMD>)} spids: [105] ) ] redirects: [] ) (C {<export>} {<TEXTDOMAIN>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USAGE='> name:USAGE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<gettext>} {(DQ <'%s [-I|-s|-f|-i] device'>)}) right: <Id.Backtick_Right '`'> ) } spids: [115] ) ] redirects: [] ) (command.ShFunction name: con_msg body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'form='> name:form) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<gettext>} {(DQ <'%s: Media in %s is ready. Please, label and store safely.'>)} ) right: <Id.Backtick_Right '`'> ) } spids: [144] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name form) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName DEVICE)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/console'>} ) ] more_env: [] do_fork: T ) ] spids: [156 175] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: e_con_msg body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'form='> name:form) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<gettext>} {(DQ <'%s: Error cleaning up device %s.'>)}) right: <Id.Backtick_Right '`'> ) } spids: [209] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name form) <Id.Lit_BadBackslash '\\'> <n>)} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<basename>} {($ Id.VSub_Number 0)}) right: <Id.Backtick_Right '`'> ) } {($ Id.VSub_DollarName DEVICE)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/console'>} ) ] more_env: [] do_fork: T ) ] spids: [221 240] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: user_msg body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'form='> name:form) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<gettext>} {(DQ <'%s: Media in %s is ready. Please, label and store safely.'>)} ) right: <Id.Backtick_Right '`'> ) } spids: [280] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name form) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName DEVICE)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [292 311] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: e_user_msg body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'form='> name:form) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<gettext>} {(DQ <'%s: Error cleaning up device %s.'>)}) right: <Id.Backtick_Right '`'> ) } spids: [345] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name form) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName DEVICE)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [ {<gettext>} {(DQ <'Please inform system administrator.'> <Id.Lit_BadBackslash '\\'> <n>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [357 376] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: mk_error body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<chown>} {<bin>} {<'/etc/security/dev/'> ($ Id.VSub_Number 1)}) (C {<chmod>} {<0100>} {<'/etc/security/dev/'> ($ Id.VSub_Number 1)}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'silent='> name:silent) op: assign_op.Equal rhs: {<n>} spids: [450] ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<getopts>} {<Iifs>} {<c>})]) body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName c)} arms: [ (case_arm pat_list: [{<I>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FLAG='> name:FLAG) op: assign_op.Equal rhs: {<i>} spids: [475] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'silent='> name:silent) op: assign_op.Equal rhs: {<y>} spids: [479] ) ] redirects: [] ) ] spids: [472 473 481 -1] ) (case_arm pat_list: [{<i>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FLAG='> name:FLAG) op: assign_op.Equal rhs: {($ Id.VSub_DollarName c)} spids: [487] ) ] redirects: [] ) ] spids: [484 485 489 -1] ) (case_arm pat_list: [{<f>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FLAG='> name:FLAG) op: assign_op.Equal rhs: {($ Id.VSub_DollarName c)} spids: [495] ) ] redirects: [] ) ] spids: [492 493 497 -1] ) (case_arm pat_list: [{<s>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FLAG='> name:FLAG) op: assign_op.Equal rhs: {($ Id.VSub_DollarName c)} spids: [503] ) ] redirects: [] ) ] spids: [500 501 505 -1] ) (case_arm pat_list: [{(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'> ch:'?')}] action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name USAGE) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [508 509 531 -1] ) ] redirects: [] ) ] ) redirects: [] ) (C {<shift>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName OPTIND)} {<->} {<1>}) right: <Id.Backtick_Right '`'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FLOPPY='> name:FLOPPY) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [557] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAP='> name:MAP) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<dminfo>} {<-v>} {<-n>} {($ Id.VSub_DollarName FLOPPY)}) right: <Id.Backtick_Right '`'> ) } spids: [560] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DEVICE='> name:DEVICE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName MAP)}) (C {<cut>} {<-f1>} {<-d> <Id.Lit_Colon ':'>}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [573] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TYPE='> name:TYPE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName MAP)}) (C {<cut>} {<-f2>} {<-d> <Id.Lit_Colon ':'>}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [591] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FILES='> name:FILES) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName MAP)}) (C {<cut>} {<-f3>} {<-d> <Id.Lit_Colon ':'>}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [609] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DEVFILE='> name:DEVFILE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName FILES)}) (C {<cut>} {<-f1>} {<-d> (DQ <' '>)}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [627] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'lform='> name:lform) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<gettext>} {(DQ <'%s error: %s.'>)}) right: <Id.Backtick_Right '`'> ) } spids: [652] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName FLAG))} {<Id.Lit_Equals '='>} {(DQ <i>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'x='> name:x) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<eject>} {<-q>} {($ Id.VSub_DollarName DEVFILE)}] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } spids: [685] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'z='> name:z) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_QMark '?'))} spids: [705] ) ] redirects: [] ) (command.Case to_match: {($ Id.VSub_DollarName z)} arms: [ (case_arm pat_list: [{<0>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'a='> name:a) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<eject>} {<-f>} {($ Id.VSub_DollarName DEVFILE)}] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } spids: [727] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'b='> name:b) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_QMark '?'))} spids: [744] ) ] redirects: [] ) (command.Case to_match: {($ Id.VSub_DollarName b)} arms: [ (case_arm pat_list: [{<0>}] action: [ (C {<con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<0>} ) ] spids: [758 759 771 -1] ) (case_arm pat_list: [{<1>}] action: [ (C {<mk_error>} {($ Id.VSub_DollarName DEVICE)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name lform) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName a)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [786 805] ) ] else_action: [] redirects: [] ) (C {<e_con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [774 775 835 -1] ) (case_arm pat_list: [{<2>}] action: [ (C {<mk_error>} {($ Id.VSub_DollarName DEVICE)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name lform) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName a)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [850 869] ) ] else_action: [] redirects: [] ) (C {<e_con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [838 839 899 -1] ) (case_arm pat_list: [{<3>}] action: [ (C {<mk_error>} {($ Id.VSub_DollarName DEVICE)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name lform) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName a)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [914 933] ) ] else_action: [] redirects: [] ) (C {<e_con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [902 903 963 -1] ) ] redirects: [] ) ] spids: [720 721 967 -1] ) (case_arm pat_list: [{<1>}] action: [ (C {<con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<0>} ) ] spids: [970 971 983 -1] ) (case_arm pat_list: [{<2>}] action: [ (C {<mk_error>} {($ Id.VSub_DollarName DEVICE)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name lform) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName x)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [999 1018] ) ] else_action: [] redirects: [] ) (C {<e_con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [987 988 1048 -1] ) (case_arm pat_list: [{<3>}] action: [ (C {<mk_error>} {($ Id.VSub_DollarName DEVICE)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name lform) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName x)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [1063 1082] ) ] else_action: [] redirects: [] ) (C {<e_con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1051 1052 1112 -1] ) ] redirects: [] ) ] spids: [664 682] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'x='> name:x) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<eject>} {<-q>} {($ Id.VSub_DollarName DEVFILE)}] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } spids: [1123] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'z='> name:z) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_QMark '?'))} spids: [1143] ) ] redirects: [] ) (command.Case to_match: {($ Id.VSub_DollarName z)} arms: [ (case_arm pat_list: [{<0>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'a='> name:a) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<eject>} {<-f>} {($ Id.VSub_DollarName DEVFILE)}] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } spids: [1165] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'b='> name:b) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_QMark '?'))} spids: [1182] ) ] redirects: [] ) (command.Case to_match: {($ Id.VSub_DollarName b)} arms: [ (case_arm pat_list: [{<0>}] action: [ (C {<user_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<0>} ) ] spids: [1195 1196 1208 -1] ) (case_arm pat_list: [{<1>}] action: [ (C {<mk_error>} {($ Id.VSub_DollarName DEVICE)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name lform) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName a)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [1223 1242] ) ] else_action: [] redirects: [] ) (C {<e_user_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1211 1212 1272 -1] ) (case_arm pat_list: [{<2>}] action: [ (C {<mk_error>} {($ Id.VSub_DollarName DEVICE)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name lform) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName a)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [1287 1306] ) ] else_action: [] redirects: [] ) (C {<e_user_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1275 1276 1336 -1] ) (case_arm pat_list: [{<3>}] action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName a)}) (command.Simple words: [{<grep>} {(DQ <failed>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] negated: F stderr_indices: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<true>})]) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'c='> name: c ) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {<eject>} {<-q>} {($ Id.VSub_DollarName DEVFILE)} ] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) ) } spids: [1379] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'd='> name: d ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_QMark '?'))} spids: [1399] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName d)} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'form='> name: form ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<gettext>} { (DQ < 'Please remove the caddy from %s.' > ) } ) right: <Id.Backtick_Right '`'> ) } spids: [1425] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} { (DQ (${ Id.VSub_Name form) <Id.Lit_BadBackslash '\\'> <n> ) } {($ Id.VSub_DollarName DEVICE)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [ {<'/usr/5bin/echo'>} { (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <007> } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [1437 1456] ) ] else_action: [] redirects: [] ) (C {<sleep>} {<3>}) ] spids: [1405 1419] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName c)}) (command.Simple words: [{<grep>} {(DQ <NOT>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] negated: F stderr_indices: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<user_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<0>} ) ] spids: [1492 1512] ) ] else_action: [ (C {<mk_error>} {($ Id.VSub_DollarName DEVICE)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} { (DQ (${ Id.VSub_Name lform) <Id.Lit_BadBackslash '\\'> <n> ) } {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName a)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [1538 1557] ) ] else_action: [] redirects: [] ) (C {<e_user_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] redirects: [] ) ] ) redirects: [] ) ] spids: [1346 1365] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name lform) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName a)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [1601 1620] ) ] else_action: [] redirects: [] ) (C {<e_user_msg>}) (C {<mk_error>} {($ Id.VSub_DollarName DEVICE)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] redirects: [] ) ] spids: [1339 1340 1658 -1] ) ] redirects: [] ) ] spids: [1158 1159 1664 -1] ) (case_arm pat_list: [{<1>}] action: [ (C {<user_msg>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [1667 1668 1680 -1] ) (case_arm pat_list: [{<2>}] action: [ (C {<mk_error>} {($ Id.VSub_DollarName DEVICE)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name lform) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName x)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [1692 1711] ) ] else_action: [] redirects: [] ) (C {<e_user_msg>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [1683 1684 1741 -1] ) (case_arm pat_list: [{<3>}] action: [ (C {<mk_error>} {($ Id.VSub_DollarName DEVICE)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName silent))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<printf>} {(DQ (${ Id.VSub_Name lform) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} {($ Id.VSub_DollarName x)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/tty'>} ) ] more_env: [] do_fork: T ) ] spids: [1753 1772] ) ] else_action: [] redirects: [] ) (C {<e_user_msg>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [1744 1745 1802 -1] ) ] redirects: [] ) ] redirects: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<2>}) ] )