(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'UNAME_R='> name:UNAME_R) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<'/usr/bin/uname'>} {<-r>}) right: <Id.Backtick_Right '`'> ) } spids: [17] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OS_MAJOR='> name:OS_MAJOR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName UNAME_R)}) (C {<'/usr/bin/sed'>} {<-e>} {(SQ <'s/^\\([^.]*\\).*/\\1/'>)}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [27] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OS_MINOR='> name:OS_MINOR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName UNAME_R)}) (C {<'/usr/bin/sed'>} {<-e>} {(SQ <'s/^[^.]*\\.\\([^.]*\\).*/\\1/'>)}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [52] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OS_VERSION='> name:OS_VERSION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName UNAME_R)}) (C {<tr>} {(SQ <.>)} {(SQ <_>)}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [79] ) ] redirects: [] ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 125 stdin_parts: [ <'#ifndef OS_VERSION_H\n'> <'#define OS_VERSION_H\n'> <'\n'> <'#define SUNOS_'> ($ Id.VSub_DollarName OS_VERSION) <'\n'> <'#define OS_MAJOR '> ($ Id.VSub_DollarName OS_MAJOR) <'\n'> <'#define OS_MINOR '> ($ Id.VSub_DollarName OS_MINOR) <'\n'> <'\n'> <'#endif\n'> ] ) ) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<new_os_version.h>}) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {<os_version.h>} {<Id.Lit_RBracket ']'>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<'/usr/bin/cmp'>} {<-s>} {<new_os_version.h>} {<os_version.h>}) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<'/usr/bin/rm'>} {<-f>} {<new_os_version.h>})] spids: [141 152] ) ] else_action: [ (C {<'/usr/bin/rm'>} {<-f>} {<os_version.h>}) (C {<'/usr/bin/mv'>} {<new_os_version.h>} {<os_version.h>}) ] redirects: [] ) ] spids: [127 138] ) ] else_action: [(C {<'/usr/bin/mv'>} {<new_os_version.h>} {<os_version.h>})] redirects: [] ) ] )