(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:app) op: assign_op.Equal rhs: {(DQ (Dropbox.app))} spids: [7] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:verbose) op: assign_op.Equal rhs: {(1)} spids: [12] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:running) op: assign_op.Equal rhs: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:18) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(ps)} {(aux)}) (C {(grep)} {(-i)} {($ Id.VSub_DollarName '$app')}) (C {(grep)} {(-v)} {(grep)}) ] negated: F ) ] ) ) ) } spids: [16] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_Number '$1'))} {(Id.Lit_Equals '=')} {(DQ (-s))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:58) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:verbose) op: assign_op.Equal rhs: {(0)} spids: [66] ) ] ) ] spids: [42 60] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(Id.KW_Bang '!')} {(-z)} {(DQ ($ Id.VSub_DollarName '$running'))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:86) ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$verbose')} {(-eq)} {(1)} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:103) ) ] action: [ (C {(echo)} { (DQ ($ Id.VSub_DollarName '$app') (' is running with PID ') (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:113) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ Id.VSub_DollarName '$running')}) (C {(cut)} {(-d) (word_part.EscapedLiteral token: (Token id: Id.Lit_EscapedChar val: '\\ ' span_id: 123 ) ) } {(-f2)} ) ] negated: F ) ] ) ) ) } ) ] spids: [91 105] ) ] ) ] spids: [72 88] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$verbose')} {(-eq)} {(1)} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:147) ) ] action: [(C {(echo)} {(DQ ('Launching ') ($ Id.VSub_DollarName '$app'))})] spids: [135 149] ) ] ) (C {(open)} {(-a)} {($ Id.VSub_DollarName '$app')}) ] ) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:172) arg_word:{(0)}) ] )