(CommandList children: [ (Sentence child: (C {(.)} { (DQ (BracedVarSub token: <VSub_Name srcdir> suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)}) spids: [47 51] ) (/tests/init.sh) ) } ) terminator: <Op_Semi ';'> ) (C {(path_prepend_)} {(./src)}) (C {(print_ver_)} {(ln)}) (AndOr ops:[Op_DPipe] children:[(C {(mkdir)} {(-p)} {(usr/bin)}) (C {(framework_failure_)})]) (AndOr ops: [Op_DPipe] children: [(C {(mkdir)} {(-p)} {(usr/lib/foo)}) (C {(framework_failure_)})] ) (AndOr ops: [Op_DPipe] children: [(C {(touch)} {(usr/lib/foo/foo)}) (C {(framework_failure_)})] ) (C {(ln)} {(-sr)} {(usr/lib/foo/foo)} {(usr/bin/foo)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} { (CommandSubPart command_list: (CommandList children:[(C {(readlink)} {(usr/bin/foo)})]) left_token: <Left_CommandSub '$('> spids: [104 108] ) } {(Lit_Other '=')} {(SQ <../lib/foo/foo>)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[118])] spids: [118] ) ] ) (C {(ln)} {(-sr)} {(usr/bin/foo)} {(usr/lib/foo/link-to-foo)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} { (CommandSubPart command_list: (CommandList children:[(C {(readlink)} {(usr/lib/foo/link-to-foo)})]) left_token: <Left_CommandSub '$('> spids: [132 136] ) } {(Lit_Other '=')} {(SQ <foo>)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[146])] spids: [146] ) ] ) (C {(ln)} {(-s)} {(dir1/dir2/f)} {(existing_link)}) (C {(ln)} {(-srf)} {(here)} {(existing_link)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} { (CommandSubPart command_list: (CommandList children:[(C {(readlink)} {(existing_link)})]) left_token: <Left_CommandSub '$('> spids: [171 175] ) } {(Lit_Other '=')} {(SQ <here>)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[185])] spids: [185] ) ] ) (C {(ln)} {(-s)} {(release1)} {(alpha)}) (C {(ln)} {(-s)} {(release2)} {(beta)}) (C {(ln)} {(-s)} {(beta)} {(latest)}) (C {(mkdir)} {(web)}) (C {(ln)} {(-sr)} {(latest)} {(web/latest)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} { (CommandSubPart command_list: (CommandList children:[(C {(readlink)} {(web/latest)})]) left_token: <Left_CommandSub '$('> spids: [239 243] ) } {(Lit_Other '=')} {(SQ <../release2>)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[253])] spids: [253] ) ] ) (C {(Exit)} {($ VSub_Name '$fail')}) ] )