(command.CommandList children: [ (command.ShFunction name: makeAbsolute body: (command.BraceGroup 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: (Token id:Id.Left_Backtick val:'`' span_id:47) command_list: (command.CommandList children: [ (C {(makeAbsolute)} {(DQ ($ Id.VSub_Number '$2'))} {(DQ ($ Id.VSub_DollarName '$PWD'))} ) ] ) ) (/) (DQ ($ Id.VSub_Number '$1')) } ) (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s,/\\.$,,' span_id:70))}) ] negated: F ) ] spids: [37 38 74 -1] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:me) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:83) command_list: (command.CommandList children: [(C {(which)} {(DQ ($ Id.VSub_Number '$0'))})] ) ) } spids: [82] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-L)} {(DQ ($ Id.VSub_DollarName '$me'))}) terminator: (Token id:Id.Op_Semi val:';' span_id:105) ) ] action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:readlink) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:115) command_list: (command.CommandList children: [ (command.Simple words: [{(type)} {(readlink)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:122) fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) ) } spids: [114] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:readlink) op: assign_op.Equal rhs: (word.Empty) spids: [128] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-n)} {(DQ ($ Id.VSub_DollarName '$readlink'))}) terminator: (Token id:Id.Op_Semi val:';' span_id:140) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:me) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:150) command_list: (command.CommandList children: [ (C {(readlink)} {(-nf)} {(DQ ($ Id.VSub_DollarName '$me'))}) ] ) ) } spids: [149] ) ] ) ] spids: [131 142] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:me) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:171) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(ls)} {(-l)} {(DQ ($ Id.VSub_DollarName '$me'))}) (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/^.*-> //' span_id:187))} ) ] negated: F ) ] ) ) } spids: [170] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:base) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:193) command_list: (command.CommandList children: [(C {(dirname)} {(DQ ($ Id.VSub_DollarName '$me'))})] ) ) } spids: [192] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:me) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:205) command_list: (command.CommandList children: [ (C {(makeAbsolute)} {(DQ ($ Id.VSub_DollarName '$me'))} {(DQ ($ Id.VSub_DollarName '$base'))} ) ] ) ) } spids: [204] ) ] ) ] ) ] spids: [96 107] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bindir) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:226) command_list: (command.CommandList children: [(C {(dirname)} {(DQ ($ Id.VSub_DollarName '$me'))})] ) ) } spids: [225] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:libdir) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:237) command_list: (command.CommandList children: [ (command.Sentence child: (C {(cd)} {(DQ ($ Id.VSub_DollarName '$bindir') (/../lib))}) terminator: (Token id:Id.Op_Semi val:';' span_id:247) ) (C {(pwd)}) ] ) ) } spids: [236] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LD_LIBRARY_PATH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$libdir') (Id.Lit_Other ':') ($ Id.VSub_DollarName '$libdir') (/qtcreator) (braced_var_sub token: (Token id:Id.VSub_Name val:LD_LIBRARY_PATH span_id:258) suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonPlus arg_word: {(':') ($ Id.VSub_DollarName '$LD_LIBRARY_PATH')} ) ) } spids: [252] ) ] ) (C {(export)} {(LD_LIBRARY_PATH)}) (C {(exec)} {(DQ ($ Id.VSub_DollarName '$bindir') (/qtcreator))} { (braced_var_sub token: (Token id:Id.VSub_Number val:1 span_id:276) suffix_op: (suffix_op.Unary op_id:Id.VTest_Plus arg_word:{(DQ ($ Id.VSub_At '$@'))}) ) } ) ] )