(command.CommandList
  children: [
    (command.ForEach
      iter_names: [fsckdev]
      iterable: (for_iter.Words words:[{($ Id.VSub_Star '*')}])
      body: 
        (command.DoGroup
          children: [
            (command.Simple
              words: [{<'/usr/sbin/fsck'>} {<-m>} {<-F>} {<ufs>} {($ Id.VSub_DollarName fsckdev)}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
                (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})
              ]
              more_env: []
              do_fork: T
            )
            (command.Case
              to_match: {($ Id.VSub_QMark '?')}
              arms: [
                (case_arm
                  pat_list: [{<33>}]
                  action: [(C {<echo>} {(DQ ($ Id.VSub_DollarName fsckdev) <' already mounted'>)})]
                  spids: [140 141 151 -1]
                )
                (case_arm
                  pat_list: [{<0>}]
                  action: [(C {<echo>} {(DQ ($ Id.VSub_DollarName fsckdev) <' is clean'>)})]
                  spids: [155 156 166 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ufs_fscklist='>
                              name: ufs_fscklist
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName ufs_fscklist) <' '> 
                                ($ Id.VSub_DollarName fsckdev)
                              )
                            }
                          spids: [173]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [170 171 181 -1]
                )
              ]
              redirects: []
            )
          ]
        )
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName ufs_fscklist))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'checking ufs filesystems'>)})
            (C {<'/usr/sbin/fsck'>} {<-o>} {<p>} {($ Id.VSub_DollarName ufs_fscklist)})
            (command.Case
              to_match: {($ Id.VSub_QMark '?')}
              arms: [
                (case_arm
                  pat_list: [{<0>} {<40>} {<33>}]
                  action: [(command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})]
                  spids: [236 241 252 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [(command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})]
                  spids: [256 257 268 -1]
                )
              ]
              redirects: []
            )
          ]
          spids: [199 210]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
  ]
)