(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>)} {($ 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: [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: [274] ) ] 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: [286 305] ) ] 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: [339] ) ] 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: [351 370] ) ] 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: [445] ) ] 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: [474] ) ] 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: [478] ) ] redirects: [] ) ] spids: [471 472 480 -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: [486] ) ] redirects: [] ) ] spids: [483 484 488 -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: [494] ) ] redirects: [] ) ] spids: [491 492 496 -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: [502] ) ] redirects: [] ) ] spids: [499 500 504 -1] ) (case_arm pat_list: [{(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'> ch:'?')}] action: [ (C {<printf>} {(DQ (${ Id.VSub_Name USAGE) <Id.Lit_BadBackslash '\\'> <n>)} {($ Id.VSub_DollarName PROG)} ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [507 508 527 -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: [553] ) ] 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: [556] ) ] 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: [569] ) ] 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: [587] ) ] 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: [605] ) ] 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: [623] ) ] 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: [648] ) ] 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: [681] ) ] 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: [701] ) ] 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: [723] ) ] 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: [740] ) ] 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: [754 755 767 -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: [782 801] ) ] else_action: [] redirects: [] ) (C {<e_con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [770 771 831 -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: [846 865] ) ] else_action: [] redirects: [] ) (C {<e_con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [834 835 895 -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: [910 929] ) ] else_action: [] redirects: [] ) (C {<e_con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [898 899 959 -1] ) ] redirects: [] ) ] spids: [716 717 963 -1] ) (case_arm pat_list: [{<1>}] action: [ (C {<con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<0>} ) ] spids: [966 967 979 -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: [995 1014] ) ] else_action: [] redirects: [] ) (C {<e_con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [983 984 1044 -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: [1059 1078] ) ] else_action: [] redirects: [] ) (C {<e_con_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1047 1048 1108 -1] ) ] redirects: [] ) ] spids: [660 678] ) ] 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: [1119] ) ] 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: [1139] ) ] 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: [1161] ) ] 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: [1178] ) ] 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: [1191 1192 1204 -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: [1219 1238] ) ] else_action: [] redirects: [] ) (C {<e_user_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1207 1208 1268 -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: [1283 1302] ) ] else_action: [] redirects: [] ) (C {<e_user_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1271 1272 1332 -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: [1375] ) ] 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: [1395] ) ] 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 floppy from %s.' > ) } ) right: <Id.Backtick_Right '`'> ) } spids: [1421] ) ] 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: [1433 1452] ) ] else_action: [] redirects: [] ) (C {<sleep>} {<3>}) ] spids: [1401 1415] ) (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: [1489 1509] ) ] 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: [1535 1554] ) ] else_action: [] redirects: [] ) (C {<e_user_msg>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] redirects: [] ) ] ) redirects: [] ) ] spids: [1342 1361] ) ] 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: [1598 1617] ) ] 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: [1335 1336 1655 -1] ) ] redirects: [] ) ] spids: [1154 1155 1661 -1] ) (case_arm pat_list: [{<1>}] action: [ (C {<user_msg>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [1664 1665 1677 -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: [1689 1708] ) ] else_action: [] redirects: [] ) (C {<e_user_msg>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [1680 1681 1738 -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: [1750 1769] ) ] else_action: [] redirects: [] ) (C {<e_user_msg>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [1741 1742 1799 -1] ) ] redirects: [] ) ] redirects: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<2>}) ] )