(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.ShAssignment
      left: <Id.Lit_VarLike 'TTYGRP='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TTYGRP='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TTYGRP='> name:TTYGRP)
          op: assign_op.Equal
          rhs: {<5>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TTYMODE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TTYMODE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TTYMODE='> name:TTYMODE)
          op: assign_op.Equal
          rhs: {<620>}
        )
      ]
      redirects: []
    )
    (command.AndOr
      children: [
        (command.Simple
          blame_tok: <Id.Lit_LBracket '['>
          more_env: []
          words: [{<Id.Lit_LBracket '['>} {<-f>} {<'/etc/default/devpts'>} {<Id.Lit_RBracket ']'>}]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <.>
          more_env: []
          words: [{<.>} {<'/etc/default/devpts'>}]
          redirects: []
          do_fork: T
        )
      ]
      ops: [<Id.Op_DAmp _>]
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'KERNEL='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'KERNEL='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'KERNEL='> name:KERNEL)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (CommandSub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Simple
                      blame_tok: <uname>
                      more_env: []
                      words: [{<uname>} {<-s>}]
                      redirects: []
                      do_fork: T
                    )
                  right: <Id.Eof_RParen _>
                )
              )
            }
        )
      ]
      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_shm>
              more_env: []
              words: [{<mount_shm>} {(DQ ($ Id.VSub_DollarName MNTMODE))}]
              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: <Id.Lit_LBracket '['>
                          more_env: []
                          words: [
                            {<Id.Lit_LBracket '['>}
                            {(DQ ($ Id.VSub_DollarName KERNEL))}
                            {<Id.Lit_Equals '='>}
                            {<Linux>}
                            {<Id.Lit_RBracket ']'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (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 '['>}
                                    {<Id.KW_Bang '!'>}
                                    {<-d>}
                                    {<'/dev/pts'>}
                                    {<Id.Lit_RBracket ']'>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.Simple
                              blame_tok: <mkdir>
                              more_env: []
                              words: [{<mkdir>} {<--mode> <Id.Lit_Equals '='> <755>} {<'/dev/pts'>}]
                              redirects: []
                              do_fork: T
                            )
                            (command.AndOr
                              children: [
                                (command.Simple
                                  blame_tok: <Id.Lit_LBracket '['>
                                  more_env: []
                                  words: [
                                    {<Id.Lit_LBracket '['>}
                                    {<-x>}
                                    {<'/sbin/restorecon'>}
                                    {<Id.Lit_RBracket ']'>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <'/sbin/restorecon'>
                                  more_env: []
                                  words: [{<'/sbin/restorecon'>} {<'/dev/pts'>}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_DAmp _>]
                            )
                          ]
                          spids: [155 168]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <domount>
                      more_env: []
                      words: [
                        {<domount>}
                        {(DQ ($ Id.VSub_DollarName MNTMODE))}
                        {<devpts>}
                        {(DQ )}
                        {<'/dev/pts'>}
                        {<devpts>}
                        {
                          (DQ <'-onoexec,nosuid,gid='> ($ Id.VSub_DollarName TTYGRP) <',mode='> 
                            ($ Id.VSub_DollarName TTYMODE)
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [137 152]
                )
              ]
              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: mountdevsubfs 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: mountdevsubfs [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: []
    )
  ]
)