(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_loc) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick "`"> spids: [27 29] ) } spids: [26] ) ] spids: [26] ) (FuncDef name: main body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {($ VSub_Name "$install_loc")})] ) left_token: <Left_CommandSub "$("> spids: [43 47] ) } {(KW_Bang "!") (Lit_Other "=")} {(DQ (selftests))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ($ VSub_Number "$0") (": Please run it in selftests directory ..."))} ) (Sentence child:(C {(exit)} {(1)}) terminator:<Op_Semi ";">) ] spids: [-1 59] ) ] spids: [-1 76] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Pound "$#"))} {(-eq)} {(0)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (DQ ($ VSub_Number "$0") (": Installing in default location - ") ($ VSub_Name "$install_loc") (" ...") ) } ) ] spids: [-1 94] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(KW_Bang "!")} {(-d)} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ($ VSub_Number "$0") (": ") ($ VSub_Number "$1") (" doesn't exist!!"))} ) (Sentence child:(C {(exit)} {(1)}) terminator:<Op_Semi ";">) ] spids: [107 122] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_loc) op: Equal rhs: {($ VSub_Number "$1")} spids: [144] ) ] spids: [144] ) (C {(echo)} { (DQ ($ VSub_Number "$0") (": Installing in specified location - ") ($ VSub_Name "$install_loc") (" ...") ) } ) ] spids: [141 158] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_dir) op: Equal rhs: {($ VSub_Name "$install_loc") (/kselftest)} spids: [162] ) ] spids: [162] ) (C {(mkdir)} {(-p)} {($ VSub_Name "$install_dir")}) (SimpleCommand words: [{(make)} {(install)}] more_env: [(env_pair name:INSTALL_PATH val:{($ VSub_Name "$install_dir")} spids:[181])] ) ] spids: [36] ) spids: [32 35] ) (C {(main)} {(DQ ($ VSub_At "$@"))}) ] )