(command.CommandList children: [ (C {<.>} {<'/lib/svc/share/smf_include.sh'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RB_OPT='> name:RB_OPT) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 1))} spids: [102] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RB_EXIT='> name:RB_EXIT) op: assign_op.Equal rhs: {<0>} spids: [107] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RB_DOOR='> name:RB_DOOR) op: assign_op.Equal rhs: {(DQ <'/var/run/rpc_door'>)} spids: [110] ) ] redirects: [] ) (command.Case to_match: {(${ Id.VSub_Name RB_OPT)} arms: [ (case_arm pat_list: [{(DQ <start>)}] action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-x>} {<'/usr/sbin/rpcbind'>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <'ERROR: /usr/sbin/rpcbind does not exist.'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)} ) ] spids: [131 144] ) ] else_action: [] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-d>} {(${ Id.VSub_Name RB_DOOR)} {<Id.Lit_RBracket ']'>}) (C {<'/usr/bin/mkdir'>} {<-p>} {<-m>} {<1777>} {(${ Id.VSub_Name RB_DOOR)}) ] ) (command.Simple words: [{<'/usr/sbin/rpcbind'>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/msglog'>} ) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RB_EXIT='> name:RB_EXIT) op: assign_op.Equal rhs: {(${ Id.VSub_QMark '?')} spids: [200] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName RB_EXIT)} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <'rpcbind failed with '> ($ Id.VSub_DollarName RB_EXIT) <.>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RB_EXIT='> name:RB_EXIT) op: assign_op.Equal rhs: {<1>} spids: [233] ) ] redirects: [] ) ] spids: [207 221] ) ] else_action: [] redirects: [] ) ] spids: [125 128 240 -1] ) (case_arm pat_list: [{(DQ <stop>)}] action: [ (C {<smf_kill_contract>} {($ Id.VSub_Number 2)} {<TERM>} {<1>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RB_EXIT='> name:RB_EXIT) op: assign_op.Equal rhs: {<1>} spids: [274] ) ] redirects: [] ) ] ) (C {<'/usr/bin/rm'>} {<-fr>} {(${ Id.VSub_Name RB_DOOR)}) ] spids: [243 246 287 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RB_EXIT='> name:RB_EXIT) op: assign_op.Equal rhs: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)} spids: [294] ) ] redirects: [] ) ] spids: [290 291 298 -1] ) ] redirects: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{(${ Id.VSub_Name RB_EXIT)}) ] )