(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:me) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(basename)} {($ VSub_Number '$0')})]) left_token: <Left_Backtick '`'> spids: [12 16] ) ) } spids: [10] ) ] spids: [10] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$conf'))}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-r)} {(/etc/udev/udev.conf)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:conf) op: Equal rhs: {(/etc/udev/udev.conf)} spids: [55] ) ] spids: [55] ) ] spids: [16777215 52] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:conf) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(find)} {(/etc)} {(-type)} {(f)} {(-name)} {(udev.conf)}] redirects: [ (Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [64 80] ) ) } spids: [62] ) ] spids: [62] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$conf'))}) (C {(test)} {(KW_Bang '!')} {(-r)} {(DQ ($ VSub_Name '$conf'))}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$me') (' Error: no udev.conf found'))}] redirects: [(Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 107] ) ] spids: [16777215 126] ) ] spids: [59 129] ) ] spids: [16777215 40] ) ] spids: [16777215 131] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rules_d) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-n)} {(SQ <'/^udev_rules=/{ s!udev_rules=!!; s!\\"!!g; p; }'>)} {($ VSub_Name '$conf')} ) ] ) left_token: <Left_Backtick '`'> spids: [145 155] ) ) } spids: [143] ) ] spids: [143] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$rules_d'))}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rules_d) op: Equal rhs: {(/etc/udev/rules.d)} spids: [173] ) ] spids: [173] ) ] spids: [16777215 170] ) ] spids: [16777215 176] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(KW_Bang '!')} {(-d)} {(DQ ($ VSub_Name '$rules_d'))}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$me') (' Error: cannot find udev rules directory'))}] redirects: [(Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 191] ) ] spids: [16777215 209] ) (C {(sh)} {(-xc)} { (DQ ('cp ') (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {($ VSub_Number '$0')})]) left_token: <Left_Backtick '`'> spids: [217 221] ) ('/udev.txt ') ($ VSub_Name '$rules_d') (/60-aoe.rules) ) } ) ] )