(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {</sbin> <Id.Lit_Other ':'> </usr/sbin> <Id.Lit_Other ':'> </bin> <Id.Lit_Other ':'> </usr/bin> } spids: [40] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KERNEL) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children:[(C {<uname>} {<-s>})]) ) ) } spids: [49] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RELEASE) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children:[(C {<uname>} {<-r>})]) ) ) } spids: [58] ) ] ) (C {<.>} {</lib/init/vars.sh>}) (C {<.>} {</lib/lsb/init-functions>}) (command.Case to_match: {(DQ (${ Id.VSub_Name KERNEL) <':'> (${ Id.VSub_Name RELEASE))} arms: [ (case_arm pat_list: [ {<Linux> <Id.Lit_Other ':'> <Id.Lit_LBracket '['> <01> <Id.Lit_RBracket ']'> <.> <Id.Lit_Star '*'> } {<Linux> <Id.Lit_Other ':'> <2.> <Id.Lit_LBracket '['> <01> <Id.Lit_RBracket ']'> <.> <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FLAGS) op: assign_op.Equal rhs: {(DQ )} spids: [111] ) ] ) ] spids: [92 108 116 -1] ) (case_arm pat_list: [ {<Linux> <Id.Lit_Other ':'> <2.> <Id.Lit_LBracket '['> <23> <Id.Lit_RBracket ']'> <.> <Id.Lit_Star '*'> } {<Linux> <Id.Lit_Other ':'> <2.4.> <Id.Lit_QMark '?'>} {<Linux> <Id.Lit_Other ':'> <2.4.> <Id.Lit_QMark '?'> <-> <Id.Lit_Star '*'>} {<Linux> <Id.Lit_Other ':'> <2.4.10>} {<Linux> <Id.Lit_Other ':'> <2.4.10-> <Id.Lit_Star '*'>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FLAGS) op: assign_op.Equal rhs: {(DQ <-f>)} spids: [151] ) ] ) ] spids: [119 148 157 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FLAGS) op: assign_op.Equal rhs: {(DQ <'-f -l'>)} spids: [164] ) ] ) ] spids: [160 161 170 -1] ) ] ) (command.ShFunction name: do_stop body: (command.BraceGroup children: [ (C {<halt>} {<-w>}) (C {<rm>} {<-f>} {</tmp/.clean>} {</run/.clean>} {</run/lock/.clean>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DIRS) op: assign_op.Equal rhs: {(DQ )} spids: [222] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<-r>} {<DEV>} {<MTPT>} {<FSTYPE>} {<OPTS>} {<REST>})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$MTPT'))} arms: [ (case_arm pat_list: [ {</>} {</proc>} {</dev>} {</dev/pts>} {</dev/shm>} {</proc/> <Id.Lit_Star '*'>} {</sys>} {</run>} {</run/> <Id.Lit_Star '*'>} ] action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)] spids: [256 275 281 -1] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$FSTYPE'))} arms: [ (case_arm pat_list: [ {<nfs>} {<nfs4>} {<smbfs>} {<ncp>} {<ncpfs>} {<cifs>} {<coda>} {<ocfs2>} {<gfs>} {<ceph>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DIRS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$MTPT') <' '> ($ Id.VSub_DollarName '$DIRS') ) } spids: [318] ) ] ) ] spids: [296 315 326 -1] ) (case_arm pat_list: [ {<Id.KW_Proc proc>} {<procfs>} {<linprocfs>} {<devpts>} {<usbfs>} {<usbdevfs>} {<sysfs>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DIRS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$MTPT') <' '> ($ Id.VSub_DollarName '$DIRS') ) } spids: [345] ) ] ) ] spids: [329 342 353 -1] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$OPTS'))} arms: [ (case_arm pat_list: [ {<_netdev>} {<Id.Lit_Star '*'> <Id.Lit_Comma ','> <_netdev>} {<_netdev> <Id.Lit_Comma ','> <Id.Lit_Star '*'>} {<Id.Lit_Star '*'> <Id.Lit_Comma ','> <_netdev> <Id.Lit_Comma ','> <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DIRS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$MTPT') <' '> ($ Id.VSub_DollarName '$DIRS') ) } spids: [386] ) ] ) ] spids: [368 383 394 -1] ) ] ) ] ) redirects: [(redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{</etc/mtab>})] ) (command.If arms: [ (if_arm cond: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$DIRS'))} {<Id.Lit_RBracket ']'>} ) ] action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$VERBOSE'))} {<Id.Lit_Equals '='>} {<no>} {<Id.Lit_RBracket ']'>} ) (C {<log_action_begin_msg>} {(DQ <'Unmounting remote and non-toplevel virtual filesystems'>)} ) ] ) (C {<fstab-decode>} {<umount>} {($ Id.VSub_DollarName '$FLAGS')} {($ Id.VSub_DollarName '$DIRS')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ES) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [452] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$VERBOSE'))} {<Id.Lit_Equals '='>} {<no>} {<Id.Lit_RBracket ']'>} ) (C {<log_action_end_msg>} {($ Id.VSub_DollarName '$ES')}) ] ) ] spids: [408 419] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-x>} {</sbin/initctl>} {<Id.Lit_RBracket ']'>}) terminator: <Id.Op_Semi _> ) ] action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<initctl>} {<--quiet>} {<emit>} {<unmounted-remote-filesystems>}] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) (C {<true>}) ] ) ] spids: [487 498] ) ] ) ] ) ) (command.Case to_match: {(DQ ($ Id.VSub_Number '$1'))} arms: [ (case_arm pat_list:[{<start>} {<status>}] spids:[531 534 541 -1]) (case_arm pat_list: [{<restart>} {<reload>} {<force-reload>}] action: [ (command.Simple words: [{<echo>} {(DQ <"Error: argument '"> ($ Id.VSub_Number '$1') <"' not supported">)}] redirects: [(redir.Redir op:<Id.Redir_GreatAnd '>&'> fd:-1 arg_word:{<2>})] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<3>}) ] spids: [544 549 569 -1] ) (case_arm pat_list: [{<stop>} {(DQ )}] action: [(C {<do_stop>})] spids: [572 576 582 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Simple words: [{<echo>} {(DQ <'Usage: umountnfs.sh [start|stop]'>)}] redirects: [(redir.Redir op:<Id.Redir_GreatAnd '>&'> fd:-1 arg_word:{<2>})] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<3>}) ] spids: [585 586 604 -1] ) ] ) (C {<Id.Lit_Other ':'>}) ] )