(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'PATH='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'PATH='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH)
          op: assign_op.Equal
          rhs: {<'/sbin'> <Id.Lit_Colon ':'> <'/bin'>}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'/lib/lsb/init-functions'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'/lib/init/vars.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'/lib/init/tmpfs.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'/lib/init/mount-functions.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <mount_filesystems>
      name: mount_filesystems
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'MNTMODE='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'MNTMODE='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MNTMODE='> name:MNTMODE)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number 1))}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <mount_run>
              more_env: []
              words: [{<mount_run>} {(DQ ($ Id.VSub_DollarName MNTMODE))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mount_lock>
              more_env: []
              words: [{<mount_lock>} {(DQ ($ Id.VSub_DollarName MNTMODE))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <domount>
              more_env: []
              words: [
                {<domount>}
                {(DQ ($ Id.VSub_DollarName MNTMODE))}
                {<Id.KW_Proc proc>}
                {(DQ )}
                {<'/proc'>}
                {<Id.KW_Proc proc>}
                {(DQ <'-onodev,noexec,nosuid'>)}
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <grep>
                          more_env: []
                          words: [
                            {<grep>}
                            {<-E>}
                            {<-qs>}
                            {
                              (DQ <sysfs> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                              )
                            }
                            {<'/proc/filesystems'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <domount>
                      more_env: []
                      words: [
                        {<domount>}
                        {(DQ ($ Id.VSub_DollarName MNTMODE))}
                        {<sysfs>}
                        {(DQ )}
                        {<'/sys'>}
                        {<sysfs>}
                        {(DQ <'-onodev,noexec,nosuid'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [157 173]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <Id.Lit_LBracket '['>
                          more_env: []
                          words: [
                            {<Id.Lit_LBracket '['>}
                            {<-d>}
                            {<'/sys/fs/pstore'>}
                            {<Id.Lit_RBracket ']'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <domount>
                      more_env: []
                      words: [
                        {<domount>}
                        {(DQ ($ Id.VSub_DollarName MNTMODE))}
                        {<pstore>}
                        {(DQ )}
                        {<'/sys/fs/pstore'>}
                        {<pstore>}
                        {(DQ )}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [200 211]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <Id.Lit_LBracket '['>
                          more_env: []
                          words: [
                            {<Id.Lit_LBracket '['>}
                            {<-d>}
                            {<'/sys/kernel/config'>}
                            {<Id.Lit_RBracket ']'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <domount>
                      more_env: []
                      words: [
                        {<domount>}
                        {(DQ ($ Id.VSub_DollarName MNTMODE))}
                        {<configfs>}
                        {(DQ )}
                        {<'/sys/kernel/config'>}
                        {<configfs>}
                        {(DQ )}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [237 248]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{(DQ ($ Id.VSub_Number 1))})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <Id.Left_DoubleQuote '"'>
          pattern: (pat.Words words:[{(DQ )}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {(DQ <'Warning: mountkernfs should be called with the \'start\' argument.'>)}
              ]
              redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.Simple
              blame_tok: <mount_filesystems>
              more_env: []
              words: [{<mount_filesystems>} {<mount_noupdate>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <start>
          pattern: (pat.Words words:[{<start>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <mount_filesystems>
              more_env: []
              words: [{<mount_filesystems>} {<mount_noupdate>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <restart>
          pattern: (pat.Words words:[{<restart>} {<reload>} {<force-reload>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <mount_filesystems>
              more_env: []
              words: [{<mount_filesystems>} {<remount>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <stop>
          pattern: (pat.Words words:[{<stop>} {<status>}])
          middle: <Id.Right_CasePat _>
          action: []
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Usage: mountkernfs [start|stop]'>)}]
              redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<3>})
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
  ]
)