(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USAGE='> name:USAGE) op: assign_op.Equal rhs: {(DQ <'zoneshare -z zonename [- | file]'>)} spids: [89] ) ] redirects: [] ) (C {<set>} {<-->} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<getopt>} {<z> <Id.Lit_Colon ':'>} {($ Id.VSub_Star '*')}) right: <Id.Backtick_Right '`'> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.Simple words: [{<echo>} {($ Id.VSub_DollarName USAGE)}] 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: [109 126] ) ] else_action: [] redirects: [] ) (command.ForEach iter_names: [i] iterable: (for_iter.Words words:[{($ Id.VSub_Star '*')}]) body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName i)} arms: [ (case_arm pat_list: [{<-z>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'zonename='> name:zonename) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} spids: [167] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (C {<shift>} {<2>}) ] spids: [164 165 174 -1] ) (case_arm pat_list: [{<-->}] action: [ (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (command.ControlFlow token:<Id.ControlFlow_Break break>) ] spids: [177 178 184 -1] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'zoneattr='> name:zoneattr) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {<'/usr/sbin/zoneadm'>} {<-z>} {($ Id.VSub_DollarName zonename)} {<list>} {<-p>} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } spids: [192] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>}) ] ) action: [ (command.Simple words: [{<echo>} {($ Id.VSub_DollarName USAGE)}] 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: [211 227] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prefix='> name:prefix) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName zoneattr)}) (C {<cut>} {<-d>} {(DQ <':'>)} {<-f4>}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [245] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rootpath='> name:rootpath) op: assign_op.Equal rhs: {($ Id.VSub_DollarName prefix) <'/root'>} spids: [266] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<-gt>} {<1>} {<Id.Lit_RBracket ']'>}) ] ) action: [ (command.Simple words: [{<echo>} {($ Id.VSub_DollarName USAGE)}] 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: [271 286] ) (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<Id.Lit_Equals '='>} {<1>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.Case to_match: {($ Id.VSub_Number 1)} arms: [ (case_arm pat_list: [{<->}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'infile='> name:infile) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [326] ) ] redirects: [] ) ] spids: [323 324 327 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'infile='> name:infile) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [336] ) ] redirects: [] ) ] spids: [333 334 338 -1] ) ] redirects: [] ) ] spids: [301 313] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'infile='> name:infile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName prefix) <'/etc/dfs/dfstab'>} spids: [349] ) ] redirects: [] ) ] redirects: [] ) (command.Pipeline children: [ (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<read>} {<line>})]) body: (command.DoGroup children:[(C {<echo>} {($ Id.VSub_DollarName line)})]) redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName infile)} ) ] ) (C { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<egrep>} {<-v>} {(DQ <'(^[#])'>)}) (C {<nawk>} {<-v>} {<Id.Lit_VarLike 'rootpath='> ($ Id.VSub_DollarName rootpath)} { (SQ <'/share/ { ORS = " "; for (i = 1; i < NF; i++) print $i ; \\\n'> <'\t print rootpath $NF ";" } '> ) } ) (C {<'/sbin/sh'>}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } ) ] negated: F stderr_indices: [] ) ] )