(command.CommandList children: [ (command.FuncDef name: makeAbsolute body: (command.BraceGroup children: [ (command.Case to_match: {($ VSub_Number '$1')} arms: [ (case_arm pat_list: [{(/) (Lit_Other '*')}] action: [(C {(echo)} {(DQ ($ VSub_Number '$1'))})] spids: [18 20 34 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.Pipeline children: [ (C {(echo)} { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(makeAbsolute)} {(DQ ($ VSub_Number '$2'))} {(DQ ($ VSub_DollarName '$PWD'))} ) ] ) left_token: <Left_Backtick '`'> spids: [47 59] ) (/) (DQ ($ VSub_Number '$1')) } ) (C {(sed)} {(SQ <'s,/\\.$,,'>)}) ] negated: F ) ] spids: [37 38 74 16777215] ) ] spids: [11 15 77] ) ] spids: [8] ) spids: [4 7] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:me spids:[82]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(which)} {(DQ ($ VSub_Number '$0'))})] ) left_token: <Left_Backtick '`'> spids: [83 91] ) } spids: [82] ) ] spids: [82] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-L)} {(DQ ($ VSub_DollarName '$me'))}) terminator: <Op_Semi ';'> ) ] action: [ (command.AndOr ops: [Op_DPipe] children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:readlink spids:[114]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [{(type)} {(readlink)}] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [115 124] ) } spids: [114] ) ] spids: [114] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:readlink spids:[128]) op: Equal rhs: (word.EmptyWord) spids: [128] ) ] spids: [128] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$readlink'))}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:me spids:[149]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(readlink)} {(-nf)} {(DQ ($ VSub_DollarName '$me'))})] ) left_token: <Left_Backtick '`'> spids: [150 160] ) } spids: [149] ) ] spids: [149] ) ] spids: [16777215 142] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:me spids:[170]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(ls)} {(-l)} {(DQ ($ VSub_DollarName '$me'))}) (C {(sed)} {(SQ <'s/^.*-> //'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [171 189] ) } spids: [170] ) ] spids: [170] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:base spids:[192]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(dirname)} {(DQ ($ VSub_DollarName '$me'))})] ) left_token: <Left_Backtick '`'> spids: [193 201] ) } spids: [192] ) ] spids: [192] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:me spids:[204]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(makeAbsolute)} {(DQ ($ VSub_DollarName '$me'))} {(DQ ($ VSub_DollarName '$base'))} ) ] ) left_token: <Left_Backtick '`'> spids: [205 217] ) } spids: [204] ) ] spids: [204] ) ] spids: [163 220] ) ] spids: [16777215 107] ) ] spids: [16777215 222] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:bindir spids:[225]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(dirname)} {(DQ ($ VSub_DollarName '$me'))})] ) left_token: <Left_Backtick '`'> spids: [226 234] ) } spids: [225] ) ] spids: [225] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:libdir spids:[236]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Sentence child: (C {(cd)} {(DQ ($ VSub_DollarName '$bindir') (/../lib))}) terminator: <Op_Semi ';'> ) (C {(pwd)}) ] ) left_token: <Left_Backtick '`'> spids: [237 250] ) } spids: [236] ) ] spids: [236] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:LD_LIBRARY_PATH spids:[252]) op: Equal rhs: {($ VSub_DollarName '$libdir') (Lit_Other ':') ($ VSub_DollarName '$libdir') (/qtcreator) (word_part.BracedVarSub token: <VSub_Name LD_LIBRARY_PATH> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonPlus arg_word: {(':') ($ VSub_DollarName '$LD_LIBRARY_PATH')} ) spids: [257 262] ) } spids: [252] ) ] spids: [252] ) (C {(export)} {(LD_LIBRARY_PATH)}) (C {(exec)} {(DQ ($ VSub_DollarName '$bindir') (/qtcreator))} { (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))}) spids: [275 281] ) } ) ] )