(command.CommandList children: [ (command.ShFunction name: makeAbsolute body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Case to_match: {($ Id.VSub_Number 1)} arms: [ (case_arm pat_list: [{<'/'> <Id.Lit_Star '*'>}] action: [(C {<echo>} {(DQ ($ Id.VSub_Number 1))})] spids: [18 20 34 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Pipeline children: [ (C {<echo>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<makeAbsolute>} {(DQ ($ Id.VSub_Number 2))} {(DQ ($ Id.VSub_DollarName PWD))} ) right: <Id.Backtick_Right '`'> ) <'/'> (DQ ($ Id.VSub_Number 1)) } ) (C {<sed>} {(SQ <'s,/\\.$,,'>)}) ] negated: F stderr_indices: [] ) ] spids: [37 38 74 -1] ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'me='> name:me) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<which>} {(DQ ($ Id.VSub_Number 0))}) right: <Id.Backtick_Right '`'> ) } spids: [82] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-L>} {(DQ ($ Id.VSub_DollarName me))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'readlink='> name:readlink) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<type>} {<readlink>}] 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: [114] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'readlink='> name:readlink) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [128] ) ] redirects: [] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName readlink))}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'me='> name:me) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<readlink>} {<-nf>} {(DQ ($ Id.VSub_DollarName me))}) right: <Id.Backtick_Right '`'> ) } spids: [149] ) ] redirects: [] ) ] spids: [131 142] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'me='> name:me) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<ls>} {<-l>} {(DQ ($ Id.VSub_DollarName me))}) (C {<sed>} {(SQ <'s/^.*-> //'>)}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [170] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'base='> name:base) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<dirname>} {(DQ ($ Id.VSub_DollarName me))}) right: <Id.Backtick_Right '`'> ) } spids: [192] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'me='> name:me) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<makeAbsolute>} {(DQ ($ Id.VSub_DollarName me))} {(DQ ($ Id.VSub_DollarName base))} ) right: <Id.Backtick_Right '`'> ) } spids: [204] ) ] redirects: [] ) ] redirects: [] ) ] spids: [96 107] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bindir='> name:bindir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<dirname>} {(DQ ($ Id.VSub_DollarName me))}) right: <Id.Backtick_Right '`'> ) } spids: [225] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libdir='> name:libdir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.CommandList children: [ (command.Sentence child: (C {<cd>} {(DQ ($ Id.VSub_DollarName bindir) <'/../lib'>)}) terminator: <Id.Op_Semi _> ) (C {<pwd>}) ] ) right: <Id.Backtick_Right '`'> ) } spids: [236] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LD_LIBRARY_PATH='> name:LD_LIBRARY_PATH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName libdir) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName libdir) <'/qtcreator'> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name LD_LIBRARY_PATH> var_name: LD_LIBRARY_PATH suffix_op: (suffix_op.Unary op: <Id.VTest_ColonPlus _> arg_word: {<':'> ($ Id.VSub_DollarName LD_LIBRARY_PATH)} ) right: <Id.Right_DollarBrace '}'> ) } spids: [252] ) ] redirects: [] ) (C {<export>} {<LD_LIBRARY_PATH>}) (C {<exec>} {(DQ ($ Id.VSub_DollarName bindir) <'/qtcreator'>)} { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{(DQ ($ Id.VSub_At '@'))}) right: <Id.Right_DollarBrace '}'> ) } ) ] )