(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'DOMAINNAME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOMAINNAME='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOMAINNAME='> name:DOMAINNAME) op: assign_op.Equal rhs: {<'/bin/domainname'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'HOSTNAME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HOSTNAME='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HOSTNAME='> name:HOSTNAME) op: assign_op.Equal rhs: {<'/bin/hostname'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'YPWHICH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'YPWHICH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'YPWHICH='> name:YPWHICH) op: assign_op.Equal rhs: {<'/usr/bin/ypwhich'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'YPXFR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'YPXFR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'YPXFR='> name:YPXFR) op: assign_op.Equal rhs: {<'/usr/libexec/ypxfr'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'YP_DIR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'YP_DIR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'YP_DIR='> name:YP_DIR) op: assign_op.Equal rhs: {<'/var/yp'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MAKEDBM='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MAKEDBM='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAKEDBM='> name:MAKEDBM) op: assign_op.Equal rhs: {<'/usr/sbin/yp_mkdb'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MAPLIST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MAPLIST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAPLIST='> name:MAPLIST) op: assign_op.Equal rhs: { (DQ <'master.passwd.byname master.passwd.byuid passwd.byname passwd.byuid '> <'\t group.byname group.bygid hosts.byname hosts.byaddr services.byname '> <'\t rpc.byname rpc.bynumber networks.byname networks.byaddr netgroup '> <'\t netgroup.byuser netgroup.byhost netid.byname publickey.byname '> <'\t bootparams ethers.byname ethers.byaddr eui64.byname eui64.byid '> <'\t amd.host mail.aliases ypservers protocols.byname protocols.bynumber '> <'\t netmasks.byaddr'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ERROR_EXISTS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR_EXISTS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR_EXISTS='> name:ERROR_EXISTS) op: assign_op.Equal rhs: {(DQ <NO>)} ) ] redirects: [] ) (command.Simple blame_tok: <umask> more_env: [] words: [{<umask>} {<077>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'ERROR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR='> name:ERROR) op: assign_op.Equal rhs: {<USAGE>} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<-eq>} {<1>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_Number 1)} {<Id.Lit_Equals '='>} {(DQ <-m>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'DOMAIN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOMAIN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOMAIN='> name:DOMAIN) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [{(${ Id.VSub_Name DOMAINNAME)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SERVERTYPE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SERVERTYPE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SERVERTYPE='> name:SERVERTYPE) op: assign_op.Equal rhs: {<MASTER>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ERROR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR='> name:ERROR) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [90 108] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_Number 1)} {<Id.Lit_Equals '='>} {(DQ <-u>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'DOMAIN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOMAIN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOMAIN='> name:DOMAIN) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [{(${ Id.VSub_Name DOMAINNAME)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SERVERTYPE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SERVERTYPE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SERVERTYPE='> name:SERVERTYPE) op: assign_op.Equal rhs: {<UPDATE>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ERROR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR='> name:ERROR) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [132 150] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [75 87] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<-eq>} {<2>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_Number 1)} {<Id.Lit_Equals '='>} {(DQ <-m>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'DOMAIN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOMAIN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOMAIN='> name:DOMAIN) op: assign_op.Equal rhs: {(${ Id.VSub_Number 2)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SERVERTYPE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SERVERTYPE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SERVERTYPE='> name:SERVERTYPE) op: assign_op.Equal rhs: {<MASTER>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ERROR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR='> name:ERROR) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [190 208] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_Number 1)} {<Id.Lit_Equals '='>} {(DQ <-s>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'DOMAIN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOMAIN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOMAIN='> name:DOMAIN) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [{(${ Id.VSub_Name DOMAINNAME)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SERVERTYPE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SERVERTYPE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SERVERTYPE='> name:SERVERTYPE) op: assign_op.Equal rhs: {<SLAVE>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MASTER='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MASTER='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MASTER='> name:MASTER) op: assign_op.Equal rhs: {(${ Id.VSub_Number 2)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ERROR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR='> name:ERROR) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [228 246] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_Number 1)} {<Id.Lit_Equals '='>} {(DQ <-u>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'DOMAIN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOMAIN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOMAIN='> name:DOMAIN) op: assign_op.Equal rhs: {(${ Id.VSub_Number 2)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SERVERTYPE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SERVERTYPE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SERVERTYPE='> name:SERVERTYPE) op: assign_op.Equal rhs: {<UPDATE>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ERROR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR='> name:ERROR) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [276 294] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [175 187] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<-eq>} {<3>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_Number 1)} {<Id.Lit_Equals '='>} {(DQ <-s>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'DOMAIN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOMAIN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOMAIN='> name:DOMAIN) op: assign_op.Equal rhs: {(${ Id.VSub_Number 3)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SERVERTYPE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SERVERTYPE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SERVERTYPE='> name:SERVERTYPE) op: assign_op.Equal rhs: {<SLAVE>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MASTER='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MASTER='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MASTER='> name:MASTER) op: assign_op.Equal rhs: {(${ Id.VSub_Number 2)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ERROR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR='> name:ERROR) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] spids: [330 348] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [315 327] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name ERROR))} {<Id.Lit_Equals '='>} {(DQ <USAGE>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\_'> ch:_) <_usage>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'usage: ypinit -m [domainname]\n'> <' ypinit -s master_server [domainname]\n'> <' ypinit -u [domainname]\n'> <'\n'> <'The `-m\' flag builds a master YP server, and the `-s\' flag builds\n'> <'a slave YP server. When building a slave YP server, `master_server\'\n'> <'must be an existing, reachable YP server.\n'> <'The `-u\' is for updating the ypservers map on a master server.\n'> ] ) ) (Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>}) ] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [375 394] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name DOMAIN))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\_'> ch:_) <_no_domain> } here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'The local host\'s YP domain name has not been set. Please set it with\n'> < 'the domainname(1) command or pass the domain as an argument to ypinit(8).\n' > ] ) ) (Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>}) ] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [428 443] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'HOST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HOST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HOST='> name:HOST) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [{(${ Id.VSub_Name HOSTNAME)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name HOST))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\_'> ch:_) <_no_hostname> } here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'The local host\'s hostname has not been set. Please set it with the\n'> <'hostname(1) command.\n'> ] ) ) (Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>}) ] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [480 495] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name SERVERTYPE))} {<Id.Lit_Equals '='>} {(DQ <SLAVE>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'COUNT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COUNT='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COUNT='> name:COUNT) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name YPWHICH)} {<-d>} {(${ Id.VSub_Name DOMAIN)} {<-m>} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-i>} {(${ Id.VSub_Name MASTER)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <wc> more_env: [] words: [{<wc>} {<-l>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [{<tr>} {<-d>} {(DQ <' '>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName COUNT))} {<Id.Lit_Equals '='>} {(DQ <0>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Can\'t enumerate maps from '> (${ Id.VSub_Name MASTER) <'. Please check that it is running.'> ) } ] redirects: [ (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Note: using hardcoded maplist for map transfers.'>)}] redirects: [ (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'YPMAPLIST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'YPMAPLIST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'YPMAPLIST='> name:YPMAPLIST) op: assign_op.Equal rhs: {(${ Id.VSub_Name MAPLIST)} ) ] redirects: [] ) ] spids: [607 624] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'YPMAPLIST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'YPMAPLIST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'YPMAPLIST='> name:YPMAPLIST) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name YPWHICH)} {<-d>} {(${ Id.VSub_Name DOMAIN)} {<-m>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cut> more_env: [] words: [ {<cut>} {<-d> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) } {<-f1>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [538 557] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ID='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ID='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ID='> name:ID) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <id> more_env: [] words: [{<id>} {<-u>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name ID))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <0>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'You have to be the superuser to run this. Please login as root.'>)} ] redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [715 735] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {(${ Id.VSub_Name YP_DIR)} {<-o>} {<-f>} {(${ Id.VSub_Name YP_DIR)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'The directory '> (${ Id.VSub_Name YP_DIR) <' doesn\'t exist. Restore it from the distribution.'> ) } ] redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [759 781] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-n>} {(DQ <'Server Type: '> (${ Id.VSub_Name SERVERTYPE) <' Domain: '> (${ Id.VSub_Name DOMAIN))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name SERVERTYPE))} {<Id.Lit_Equals '='>} {(DQ <SLAVE>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<-n>} {(DQ <' Master: '> (${ Id.VSub_Name MASTER))}] redirects: [] do_fork: T ) ] spids: [821 840] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok:<echo> more_env:[] words:[{<echo>} {(DQ )}] redirects:[] do_fork:T) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name SERVERTYPE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <UPDATE>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\_'> ch:_) <_notice1>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'\n'> <'Creating an YP server will require that you answer a few questions.\n'> <'Questions will all be asked at the beginning of the procedure.\n'> <'\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-n>} {(DQ <'Do you want this procedure to quit on non-fatal errors? [y/n: n] '>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<DOEXIT>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(${ Id.VSub_Name DOEXIT)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <y> pattern: (pat.Words words:[{<y> <Id.Lit_Star '*'>} {<Y> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ERROR_EXIT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR_EXIT='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR_EXIT='> name:ERROR_EXIT) op: assign_op.Equal rhs: {(DQ <YES>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ERROR_EXIT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR_EXIT='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR_EXIT='> name:ERROR_EXIT) op: assign_op.Equal rhs: {(DQ <NO>)} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'Ok, please remember to go back and redo manually whatever fails.'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'If you don\'t, something might not work. '>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-d>} {(DQ (${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-n>} { (DQ <'Can we destroy the existing '> (${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN) <' and its contents? [y/n: n] '> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<KILL>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'ERROR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR='> name:ERROR) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(${ Id.VSub_Name KILL)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <y> pattern: (pat.Words words: [{<y> <Id.Lit_Star '*'>} {<Y> <Id.Lit_Star '*'>}] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ERROR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR='> name:ERROR) op: assign_op.Equal rhs: {(DQ <DELETE>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ERROR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR='> name:ERROR) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name ERROR))} {<Id.Lit_Equals '='>} {(DQ <DELETE>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <rm> more_env: [] words: [ {<rm>} {<-rf>} {(${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN) } ] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Can\'t clean up old directory '> (${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN) <.> ) } ] redirects: [ (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1093 1110] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1071 1090] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'OK, please clean it up by hand and start again. Bye'>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<0>} ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [977 996] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <mkdir> more_env: [] words: [ {<mkdir>} {(DQ (${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN))} ] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Can\'t make new directory '> (${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN) <.> ) } ] redirects: [ (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1161 1178] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [862 882] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name SERVERTYPE))} {<Id.Lit_Equals '='>} {(DQ <MASTER>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(${ Id.VSub_Name YP_DIR) <'/Makefile'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(${ Id.VSub_Name YP_DIR) <'/Makefile.dist'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'Can\'t find '> (${ Id.VSub_Name YP_DIR) <'/Makefile.dist. '>)} ] redirects: [ (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1251 1267] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} {(${ Id.VSub_Name YP_DIR) <'/Makefile.dist'>} {(${ Id.VSub_Name YP_DIR) <'/Makefile'>} ] redirects: [] do_fork: T ) ] spids: [1232 1248] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1209 1228] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name SERVERTYPE))} {<Id.Lit_Equals '='>} {(DQ <SLAVE>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'There will be no further questions. The remainder of the procedure'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'should take a few minutes, to copy the databases from '> (${ Id.VSub_Name MASTER) <.> ) } ] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [MAP] iterable: (for_iter.Words words:[{(${ Id.VSub_Name YPMAPLIST)}]) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Transferring '> (${ Id.VSub_Name MAP) <...>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name YPXFR)} {<-p>} {(${ Id.VSub_Name YP_DIR)} {<-h>} {(${ Id.VSub_Name MASTER)} {<-c>} {<-d>} {(${ Id.VSub_Name DOMAIN)} {(${ Id.VSub_Name MAP)} ] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Can\'t transfer map '> (${ Id.VSub_Name MAP) <.>)}] redirects: [ (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'ERROR_EXISTS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR_EXISTS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'ERROR_EXISTS='> name: ERROR_EXISTS ) op: assign_op.Equal rhs: {(DQ <YES>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name ERROR_EXIT))} {<Id.Lit_Equals '='>} {(DQ <YES>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1434 1453] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1378 1411] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name ERROR_EXISTS))} {<Id.Lit_Equals '='>} {(DQ <YES>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ (${ Id.VSub_Name HOST) <' has been setup as an YP slave server with errors. '> ) } ] redirects: [ (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Please remember fix any problem that occurred.'>)}] redirects: [ (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) ] spids: [1477 1496] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ (${ Id.VSub_Name HOST) <' has been setup as an YP slave server without any errors. '> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'Don\'t forget to update map ypservers on '> (${ Id.VSub_Name MASTER) <.>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [1311 1330] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'LIST_OK='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LIST_OK='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LIST_OK='> name:LIST_OK) op: assign_op.Equal rhs: {(DQ <NO>)} ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name LIST_OK))} {<Id.Lit_Equals '='>} {(DQ <NO>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name SERVERTYPE))} {<Id.Lit_Equals '='>} {(DQ <MASTER>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'HOST_LIST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HOST_LIST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HOST_LIST='> name:HOST_LIST) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name HOST))} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < 'At this point, we have to construct a list of this domains YP servers.' > ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ (${ Id.VSub_Name HOST) <' is already known as master server.'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Please continue to add any slave servers, one per line. When you are'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'done with the list, type a <control D>.'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'\tmaster server : '> (${ Id.VSub_Name HOST))}] redirects: [] do_fork: T ) ] spids: [1585 1605] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name SERVERTYPE))} {<Id.Lit_Equals '='>} {(DQ <UPDATE>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'HOST_LIST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HOST_LIST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HOST_LIST='> name:HOST_LIST) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name HOST))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'NEW_LIST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NEW_LIST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NEW_LIST='> name:NEW_LIST) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MASTER_NAME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MASTER_NAME='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'MASTER_NAME='> name: MASTER_NAME ) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SHORT_HOST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SHORT_HOST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SHORT_HOST='> name:SHORT_HOST) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(${ Id.VSub_Name HOST)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cut> more_env: [] words: [{<cut>} {<-d.>} {<-f1>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN) <'/ypservers'> } {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Sentence child: (command.ForEach keyword: <Id.KW_For for> iter_names: [srv] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name MAKEDBM)} {<-u>} {(${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN) <'/ypservers'> } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-v>} {(DQ <'^YP'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [ {<tr>} {(DQ <Id.Lit_BadBackslash '\\'> <t>)} {(DQ <' '>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cut> more_env: [] words: [ {<cut>} {<-d> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) } {<-f1>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'short_srv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'short_srv='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'short_srv='> name: short_srv ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(${ Id.VSub_Name srv)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cut> more_env: [] words: [{<cut>} {<-d.>} {<-f1>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name SHORT_HOST))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ (${ Id.VSub_Name short_srv))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name NEW_LIST))} {<Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'NEW_LIST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NEW_LIST='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'NEW_LIST='> name: NEW_LIST ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name srv))} ) ] redirects: [] ) ] spids: [1861 1880] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'NEW_LIST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NEW_LIST='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'NEW_LIST='> name: NEW_LIST ) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name NEW_LIST) <' '> (${ Id.VSub_Name srv) ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1836 1858] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'MASTER_NAME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MASTER_NAME='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'MASTER_NAME='> name: MASTER_NAME ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name MAKEDBM)} {<-u>} {(${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN) <'/ypservers'> } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(DQ <'^YP_MASTER_NAME'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [ {<tr>} {(DQ <Id.Lit_BadBackslash '\\'> <t>)} {(DQ <' '>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cut> more_env: [] words: [ {<cut>} {<-d> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ch: ' ' ) } {<-f2>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) ] spids: [1728 1747] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Update the list of hosts running YP servers in domain '> (${ Id.VSub_Name DOMAIN) <.> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'Master for this domain is '> (${ Id.VSub_Name MASTER_NAME) <.>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'First verify old servers, type '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <' to remove a server.'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'Then add new servers, one per line. When done type a <control D>.'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'\tmaster server : '> (${ Id.VSub_Name HOST))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name NEW_LIST))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Sentence child: (command.ForEach keyword: <Id.KW_For for> iter_names: [node] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName NEW_LIST)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {<-n>} { (DQ <'\tverify host : ['> (${ Id.VSub_Name node) <'] '> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<verify>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name verify))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} { (DQ (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) ) } {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'HOST_LIST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HOST_LIST='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HOST_LIST='> name: HOST_LIST ) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name HOST_LIST) <' '> (${ Id.VSub_Name node) ) } ) ] redirects: [] ) ] spids: [2093 2113] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] spids: [2041 2060] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1667 1687] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<-n>} {(DQ <'\tnext host to add: '>)}] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<h>}] redirects: [] do_fork: T ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<-n>} {(DQ <'\tnext host to add: '>)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'HOST_LIST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HOST_LIST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HOST_LIST='> name:HOST_LIST) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name HOST_LIST) <' '> (${ Id.VSub_Name h))} ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'The current list of NIS servers looks like this:'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [h] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(${ Id.VSub_Name HOST_LIST)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(${ Id.VSub_Name h)}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<-n>} {(DQ <'Is this correct? [y/n: y] '>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<hlist_ok>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName hlist_ok)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <n> pattern: (pat.Words words:[{<n> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Let\'s try the whole thing again...'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <N> pattern: (pat.Words words:[{<N> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Let\'s try the whole thing again...'>)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'LIST_OK='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LIST_OK='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LIST_OK='> name:LIST_OK) op: assign_op.Equal rhs: {(DQ <YES>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'Building '> (${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN) <'/ypservers...'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {(${ Id.VSub_Name YP_DIR) <'/ypservers'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <touch> more_env: [] words: [{<touch>} {<-f>} {(${ Id.VSub_Name YP_DIR) <'/ypservers'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {(${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN) <'/ypservers'>}] redirects: [] do_fork: T ) (command.Pipeline children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [host] iterable: (for_iter.Words words:[{(${ Id.VSub_Name HOST_LIST)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ (${ Id.VSub_Name host) <' '> (${ Id.VSub_Name host))}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name YP_DIR) <'/ypservers'>} ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ (${ Id.VSub_Name host) <' '> (${ Id.VSub_Name host))}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name MAKEDBM)} {<->} {(${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN) <'/ypservers'>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Couldn\'t build yp data base '> (${ Id.VSub_Name YP_DIR) <'/'> (${ Id.VSub_Name DOMAIN) <'/ypservers.'> ) } ] redirects: [(Redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'ERROR_EXISTS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR_EXISTS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR_EXISTS='> name:ERROR_EXISTS) op: assign_op.Equal rhs: {(DQ <YES>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name ERROR_EXIT))} {<Id.Lit_Equals '='>} {(DQ <YES>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [2467 2486] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [2418 2431] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name SERVERTYPE))} {<Id.Lit_Equals '='>} {(DQ <MASTER>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CUR_PWD='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CUR_PWD='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CUR_PWD='> name:CUR_PWD) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(${ Id.VSub_Name YP_DIR)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Running '> (${ Id.VSub_Name YP_DIR) <'/Makefile...'>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <make> more_env: [] words: [ {<make>} {<Id.Lit_VarLike 'NOPUSH='> <True>} {<Id.Lit_VarLike 'UPDATE_DOMAIN='> (${ Id.VSub_Name DOMAIN)} {<Id.Lit_VarLike 'YP_DIR='> (${ Id.VSub_Name YP_DIR)} ] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [ (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Error running Makefile.'>)}] redirects: [ (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'ERROR_EXISTS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ERROR_EXISTS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'ERROR_EXISTS='> name: ERROR_EXISTS ) op: assign_op.Equal rhs: {(DQ <YES>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name ERROR_EXIT))} {<Id.Lit_Equals '='>} {(DQ <YES>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [2595 2614] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [2547 2567] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(${ Id.VSub_Name CUR_PWD)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ )}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name ERROR_EXISTS))} {<Id.Lit_Equals '='>} {(DQ <YES>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ (${ Id.VSub_Name HOST) <' has been setup as an YP master server with errors. '> ) } ] redirects: [ (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Please remember fix any problem that occurred.'>)}] redirects: [ (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) ] spids: [2643 2662] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ (${ Id.VSub_Name HOST) <' has been setup as an YP master server without any errors. '> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [2499 2518] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] )