(command.CommandList children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id:Id.BoolUnary_z child:{(DQ ($ Id.VSub_Number '$2'))}) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(DQ <'Usage '> ($ Id.VSub_Number '$0') <': <chef-server-url> <chef-server-password>'>)} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [3 16] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHEFSERVER) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [34] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHEFPASSWD) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$2'))} spids: [39] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id:Id.BoolUnary_d child:{<.chef>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<knife>} {<configure>} {<--initial>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<EOF>} here_end_span_id: 85 stdin_parts: [ <'.chef/knife.rb\n'> (${ Id.VSub_Name CHEFSERVER) <'\n'> <'\n'> <'\n'> <'/etc/chef-server/admin.pem\n'> <'\n'> <'/etc/chef-server/chef-validator.pem\n'> <'.\n'> (${ Id.VSub_Name CHEFPASSWD) <'\n'> ] ) ] ) ] spids: [44 57] ) ] else_action: [(C {<echo>} {(DQ <'Knife configuration already exists!'>)})] ) ] )