(command.CommandList
  children: [
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' <libdir> <private_libdir>'))})
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 24]
        )
      ]
      spids: [16777215 40]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:libdir spids:[43])
          op: Equal
          rhs: {(DQ ($ VSub_Number '$1'))}
          spids: [43]
        )
      ]
      spids: [43]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:private_libdir spids:[48])
          op: Equal
          rhs: {(DQ ($ VSub_Number '$2'))}
          spids: [48]
        )
      ]
      spids: [48]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                  {(DQ ($ VSub_DollarName '$libdir') (/libjulia.so))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.SimpleCommand
              words: [
                {(echo)}
                {(DQ ('ERROR: Could not open ') ($ VSub_DollarName '$libdir') (/libjulia.so))}
              ]
              redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)})
          ]
          spids: [16777215 70]
        )
      ]
      spids: [16777215 89]
    )
    (command.FuncDef
      name: find_shlib
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Pipeline
                      children: [
                        (C {(ldd)} {(DQ ($ VSub_Number '$1'))})
                        (C {(grep)} {($ VSub_Number '$2')})
                        (C {(cut)} {(-d) (SQ <' '>)} {(-f3)})
                        (C {(xargs)})
                      ]
                      negated: F
                    )
                  ]
                  spids: [16777215 113]
                )
              ]
              spids: [16777215 144]
            )
          ]
          spids: [97]
        )
      spids: [92 96]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LIBSTD spids:[152])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(find_shlib)} {(DQ ($ VSub_DollarName '$libdir') (/libjulia.so))} 
                        {(DQ ('libstdc++.so'))}
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [153 164]
              )
            }
          spids: [152]
        )
      ]
      spids: [152]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LIBSTD_NAME spids:[166])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [(C {(basename)} {($ VSub_DollarName '$LIBSTD')})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [167 171]
              )
            }
          spids: [166]
        )
      ]
      spids: [166]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LIBSTD_DIR spids:[173])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [(C {(dirname)} {($ VSub_DollarName '$LIBSTD')})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [174 178]
              )
            }
          spids: [173]
        )
      ]
      spids: [173]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                      {
                        (DQ ($ VSub_DollarName '$private_libdir') (/) 
                          ($ VSub_DollarName '$LIBSTD_NAME')
                        )
                      } {(Lit_Other ']')}
                    )
                    (C {(Lit_Other '[')} {(-f)} 
                      {(DQ ($ VSub_DollarName '$LIBSTD_DIR') (/) ($ VSub_DollarName '$LIBSTD_NAME'))} {(Lit_Other ']')}
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(cp)} {(-v)} 
              {(DQ ($ VSub_DollarName '$LIBSTD_DIR') (/) ($ VSub_DollarName '$LIBSTD_NAME'))} {(DQ ($ VSub_DollarName '$private_libdir'))}
            )
            (C {(chmod)} {(755)} 
              {(DQ ($ VSub_DollarName '$private_libdir') (/) ($ VSub_DollarName '$LIBSTD_NAME'))}
            )
          ]
          spids: [16777215 212]
        )
      ]
      spids: [16777215 240]
    )
  ]
)