(command.CommandList children: [ (C {<cd>} {<'/var/adm'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH) op: assign_op.Equal rhs: {<'/usr/lib/acct'> <Id.Lit_Colon ':'> <'/usr/bin'> <Id.Lit_Colon ':'> <'/usr/sbin'>} spids: [87] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_Pound '#')} {<-lt>} {<2>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {(DQ <'usage: chargefee name number'>)}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] more_env: [] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [94 105] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_entry='> name:_entry) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<getent>} {<passwd>} {($ Id.VSub_Number 1)}) right: <Id.Backtick_Right '`'> ) ) } spids: [124] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-z>} {(DQ (${ Id.VSub_Name _entry))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {(DQ <'can\'t find login name '> ($ Id.VSub_Number 1))}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] more_env: [] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<2>}) ] spids: [137 150] ) ] else_action: [] redirects: [] ) (command.Case to_match: {(DQ ($ Id.VSub_Number 2))} arms: [ (case_arm pat_list: [ {<-> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>} {<Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>} ] action: [] spids: [178 188 189 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Simple words: [{<echo>} {(DQ <'charge invalid: '> ($ Id.VSub_Number 2))}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] more_env: [] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<3>}) ] spids: [191 192 -1 210] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<Id.KW_Bang '!'>} {<-r>} {<fee>}) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<nulladm>} {<fee>})] spids: [213 224] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_userid='> name:_userid) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(DQ (${ Id.VSub_Name _entry))}) (C {<cut>} {<-d> <Id.Lit_Colon ':'>} {<-f3>}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [233] ) ] redirects: [] ) (command.Simple words: [ {<echo>} { (DQ (${ Id.VSub_Name _userid) <' '> ($ Id.VSub_Number 1) <' 0 0 0 0 0 0 0 0 0 0 '> ($ Id.VSub_Number 2) ) } ] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<fee>})] more_env: [] do_fork: T ) ] )