(command.CommandList children: [ (C {<Setup.provide>} {<base>} {<1.0>}) (command.ShFunction name: mkpdir body: (BraceGroup children: [ (C {<local>} {<-a>} {<Id.Lit_VarLike 'alldirs='> (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {(DQ ($ Id.VSub_At '$@'))}) ) } ] ) } {<missing>} ) (C {<local>} {<dir>}) (command.ForEach iter_name: dir iter_words: [ { (DQ (braced_var_sub token: <Id.VSub_Name alldirs> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} {(DQ ($ Id.VSub_DollarName '$dir'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:missing) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [{(DQ ($ Id.VSub_DollarName '$dir'))}] ) } spids: [84] ) ] ) ] spids: [66 81] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} { (braced_var_sub token: <Id.VSub_Name missing> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ) (C {<mkdir>} {<-p>} { (DQ (braced_var_sub token: <Id.VSub_Name missing> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ) ] ) ] ) ) (command.ShFunction name: Trigger body: (BraceGroup children: [ (command.Sentence child: (C {<mkpdir>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple words: [ {<eval>} { (DQ (braced_var_sub token: <Id.VSub_Number 2> suffix_op: (suffix_op.Unary tok:<Id.VOp1_Pound '#'> arg_word:{<->}) ) ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_Number '$1'))} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: Echo body: (BraceGroup children: [ (command.Sentence child: (C {<local>} {<Id.Lit_VarLike 'dst='> (DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) (command.Sentence child:(C {<shift>}) terminator:<Id.Op_Semi _>) (command.Sentence child: (C {<mkpdir>} {(DQ ($ Id.VSub_DollarName '$dst'))}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple words: [ {<printf>} {(DQ <'%s'> <Id.Lit_BadBackslash '\\'> <n>)} { (DQ (braced_var_sub token: <Id.VSub_At '@'> suffix_op: (suffix_op.Unary tok:<Id.VOp1_Pound '#'> arg_word:{<->}) ) ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$dst'))} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: Copy body: (BraceGroup children: [ (command.Sentence child: (C {<mkpdir>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<cp>} {(DQ ($ Id.VSub_Number '$2'))} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: Concat body: (BraceGroup children: [ (command.Sentence child: (C {<mkpdir>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple words: [ {<cat>} { (DQ (braced_var_sub token: <Id.VSub_At '@'> suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 2>}) ) ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_Number '$1'))} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: Sorted body: (BraceGroup children: [ (command.Sentence child: (C {<mkpdir>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Pipeline children: [ (C {<cat>} { (DQ (braced_var_sub token: <Id.VSub_At '@'> suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 2>}) ) ) } ) (command.Simple words: [{<sort>} {<-u>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_Number '$1'))} ) ] more_env: [(env_pair name:LC_ALL val:{<C>} spids:[325])] do_fork: T ) ] negated: F ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: Lookup body: (BraceGroup children: [ (command.Sentence child: (C {<mkpdir>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<set>} {<-o>} {<pipefail>}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Pipeline children: [ (command.Simple words: [ {<look>} {<-t> <Id.Lit_Colon ':'>} { (DQ (braced_var_sub token: <Id.VSub_Number 2> suffix_op: (suffix_op.Unary tok:<Id.VOp1_Pound '#'> arg_word:{<->}) ) ) } {(DQ ($ Id.VSub_Number '$3'))} ] more_env: [(env_pair name:LC_ALL val:{<C>} spids:[366])] do_fork: T ) (C {<head>} {<-1>}) (command.Simple words: [{<cut>} {<-d> <Id.Lit_Colon ':'>} {<-f2>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_Number '$1'))} ) ] do_fork: T ) ] negated: F ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: Empty body: (BraceGroup children: [ (command.Sentence child: (C {<mkpdir>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple words: [{<printf>} {(SQ )}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_Number '$1'))} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: Filter body: (BraceGroup children: [ (command.Sentence child: (C {<mkpdir>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple words: [ {<grep>} {($ Id.VSub_Number '$4')} {<-xf>} {(DQ ($ Id.VSub_Number '$3'))} {(DQ ($ Id.VSub_Number '$2'))} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_Number '$1'))} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: Foreach body: (BraceGroup children: [ (C {<local>} {<word>} {<Id.Lit_VarLike 'dst='> (DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_VarLike 'pat='> (DQ (braced_var_sub token: <Id.VSub_Number 2> suffix_op: (suffix_op.Unary tok:<Id.VOp1_Pound '#'> arg_word:{<->}) ) ) } ) (C {<shift>} {<2>}) (C {<mkpdir>} {(DQ ($ Id.VSub_DollarName '$dst'))}) (C {<local>} {<file>}) (command.ForEach iter_name: file do_arg_iter: T body: (command.DoGroup children: [ (command.ForEach iter_name: word iter_words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName '$file'))} ) ] do_fork: F ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (C {<eval>} { (DQ <'printf \'%s'> <Id.Lit_BadBackslash '\\'> <'n\' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) ($ Id.VSub_DollarName '$pat') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ) } ) ] ) ) ] ) redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$dst'))} ) ] ) ] ) ) (command.ShFunction name: Tar body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 're='> (DQ (braced_var_sub token: <Id.VSub_Number 2> suffix_op: (suffix_op.Unary tok:<Id.VOp1_Pound '#'> arg_word:{<->}) ) ) } {<Id.Lit_VarLike 'dst='> (DQ ($ Id.VSub_Number '$1'))} ) (C {<shift>} {<2>}) (C {<mkpdir>} {(DQ ($ Id.VSub_DollarName '$dst'))}) (C {<tar>} {<-czf>} {(DQ ($ Id.VSub_DollarName '$dst'))} {<--transform> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$re'))} {(DQ ($ Id.VSub_At '$@'))} ) ] ) ) (command.ShFunction name: GZip body: (BraceGroup children: [ (command.Sentence child: (C {<mkpdir>} {(DQ ($ Id.VSub_Number '$1'))}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple words: [{<gzip>}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_Number '$2'))} ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_Number '$1'))} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: Git.autocommit body: (BraceGroup children: [ (command.Subshell child: (command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:msg) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<Setup.params>} {<autocommit>}) ) ) } spids: [700] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<cd>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {(DQ ($ Id.VSub_Number '$1'))}) ) ) } ) (C {<git>} {<add>} {<-A>}) (C {<git>} {<commit>} {<-m>} { (DQ (braced_var_sub token: <Id.VSub_Name msg> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<'Automatic commit on '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<date>}) ) } ) ) ) } ) ] ) ] ) ) (C {<touch>} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ) ] )