(command.CommandList children: [ (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BLOCK_SIZE) op: Equal rhs: {(word_part.EscapedLiteral token:<Lit_EscapedChar "\\'">) (1)} ) ] ) terminator: <Op_Semi ';'> ) (C {(export)} {(BLOCK_SIZE)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TIME_STYLE) op: Equal rhs: {(SQ <'+%b %e %Y\n'> <'%b %e %H:%M'>)} ) ] ) (C {(export)} {(TIME_STYLE)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$LANG'))}) (command.Simple words: [{(grep)} {(-i)} {(DQ ('utf-*8') (Lit_Other '$'))}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) ] negated: F ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SYM_ARROW) op: Equal rhs: {(DQ ('\xe2\x96\xaa\xe2\x96\xb6'))} ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:SYM_ARROW) op:Equal rhs:{(DQ ('->'))})] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ESC) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(printf)} {(SQ <'\\033'>)})]) ) } ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (command.Pipeline children: [ (command.Simple words: [{(tput)} {(setaf)} {(1)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) ] negated: T ) (command.Pipeline children: [ (command.Simple words: [{(tput)} {(AF)} {(1)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) ] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:color_when) op:Equal rhs:(word.Empty))] ) ] ) (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-t)} {(1)}) (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Star '$*'))}) (command.Simple words: [ {(grep)} {(-E)} {(--)} {(DQ ('--color( |=always|') (Lit_Other '$') (')'))} ] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) ] negated: F ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:color_when) op:Equal rhs:{(always)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Simple words: [{(tput)} {(bold)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BLD) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(tput)} {(bold)})]) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RST) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(tput)} {(sgr0)})]) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HLI) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(tput)} {(smso)})]) ) } ) ] ) ] ) (if_arm cond: [ (command.Sentence child: (command.Simple words: [{(tput)} {(md)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BLD) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(tput)} {(md)})]) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RST) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(tput)} {(me)})]) ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HLI) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(tput)} {(so)})]) ) } ) ] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LS_HLI) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_DollarName '$HLI'))}) (C {(sed)} { (DQ (s/) ($ VSub_DollarName '$ESC') (Lit_Other '\\') ('[') (Lit_Other '\\') ('(.*') (Lit_Other '\\') (')m/') (Lit_Other '\\') (1/) ) } ) ] negated: F ) ] ) ) } ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:color_when) op:Equal rhs:{(auto)})] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ls) op:Equal rhs:{(ls)})] ) (command.AndOr ops: [Op_DPipe Op_DPipe] children: [ (command.BraceGroup children: [ (command.Sentence child: (command.Simple words: [{(ls)} {(--color)} {(-d)} {(.)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) terminator: <Op_Semi ';'> ) ] ) (command.BraceGroup children: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (command.Simple words: [{(gls)} {(--color)} {(-d)} {(.)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ls) op:Equal rhs:{(gls)})] ) ] ) terminator: <Op_Semi ';'> ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:NONGNU) op:Equal rhs:{(1)})] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(DQ ($ VSub_DollarName '$color_when'))} {(Lit_RBracket ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(DQ ($ VSub_DollarName '$NONGNU'))} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.AndOr ops: [Op_DAmp] children: [ (command.BraceGroup children: [ (command.Sentence child: (C {(colorls)} {(-d)} {(.)}) terminator: <Op_Semi ';'> ) ] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ls) op:Equal rhs:{(colorls)})] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.Simple words: [{($ VSub_DollarName '$ls')} {(-G)} {(-d)} {(.)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:color_opt) op: Equal rhs: {(-G)} ) ] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_LBracket '[')} {(DQ ($ VSub_DollarName '$color_when'))} {(Lit_Equals '=')} {(DQ (always))} {(Lit_RBracket ']')} ) (command.BraceGroup children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CLICOLOR_FORCE) op: Equal rhs: {(1)} ) ] ) terminator: <Op_Semi ';'> ) (command.Sentence child: (C {(export)} {(CLICOLOR_FORCE)}) terminator: <Op_Semi ';'> ) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:color_when) op:Equal rhs:(word.Empty))] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LSCOLORS) op: Equal rhs: {(DQ (ExGxcxdxCxegedCxCxExEx))} ) ] ) terminator: <Op_Semi ';'> ) (C {(export)} {(LSCOLORS)}) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:color_opt) op: Equal rhs: {(SQ <'--color='>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:color_never) op: Equal rhs: {(DQ ('--color=never'))} ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_LBracket '[')} {(DQ ($ VSub_DollarName '$LS_COLORS'))} {(Lit_RBracket ']')}) (C {(eval)} { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(dircolors)})]) ) } ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_LBracket '[')} {(DQ ($ VSub_DollarName '$LS_COLORS'))} {(Lit_RBracket ']')}) (C {(eval)} { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Simple words: [{(dircolors)}] more_env: [(env_pair name:TERM val:{(xterm)})] ) ] ) ) } ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LS_COLORS) op: Equal rhs: {(DQ (':') ($ VSub_DollarName '$LS_COLORS') (':'))} ) ] ) terminator: <Op_Semi ';'> ) (C {(export)} {(LS_COLORS)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(dircolors)}) (command.Simple words: [{(grep)} {(-F)} {(DQ (':mh='))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) ] negated: F ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:hl_no_color) op: Equal rhs: {(DQ ('s/:hl=[^:]*:/:mh=:/; s/:mh=[^:]*:/:mh=:/'))} ) ] ) ] ) (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(dircolors)}) (command.Simple words: [{(grep)} {(-F)} {(DQ ('hl='))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) ] negated: F ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:hl_no_color) op: Equal rhs: {(DQ ('s/:mh=[^:]*:/:hl=:/; s/:hl=[^:]*:/:hl=:/'))} ) ] ) ] ) ] ) (C {(eval)} { (DQ (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(Lit_VarLike 'LS_COLORS=') (word_part.EscapedLiteral token: <Lit_EscapedChar "\\'"> ) (DQ ($ VSub_DollarName '$LS_COLORS')) (word_part.EscapedLiteral token:<Lit_EscapedChar "\\'">) (word_part.EscapedLiteral token: <Lit_EscapedChar '\\;'> ) } ) (C {(sed)} { (DQ ('\n') (' ') ($ VSub_DollarName '$hl_no_color') ('\n') (' s/:su=[^:]*:/:su=:/\n') (' s/:sg=[^:]*:/:sg=:/\n') (' s/:ow=[^:]*:/:ow=:/\n') (' s/:st=[^:]*:/:st=:/\n') (' s/:tw=[^:]*:/:tw=:/\n') ('\n') (' s/:ca=[^:]*:/:ca=:/\n') ('\n') (' s/:mi=[^:]') (Lit_Other '\\') ('{1,') (Lit_Other '\\') ('}:/:mi=') ($ VSub_DollarName '$LS_HLI') (':/\n') (' ') ) } ) ] negated: F ) (C {(echo)} {(SQ <'export LS_COLORS'>)}) ] ) ) ) } ) ] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:total) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {($ VSub_DollarName '$ls')} {(-s)} {($ VSub_DollarName '$color_never')} {(/)} ) (C {(sed)} {(SQ <'s/\\([^ ]*\\).*/\\1/;q'>)}) ] negated: F ) ] ) ) } ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.Simple words: [{($ VSub_DollarName '$ls')} {(--group-directories-first)} {(-d)} {(.)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:gdf) op:Equal rhs:{(--group-directories)})] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.Simple words: [{($ VSub_DollarName '$ls')} {(--no-group)} {(-d)} {(.)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ng) op:Equal rhs:{(--no-group)})] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.Simple words: [{($ VSub_DollarName '$ls')} {(--quoting) (Lit_Equals '=') (shell-escape)} {(-d)} {(.)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:quote) op: Equal rhs: {(--quoting) (Lit_Equals '=') (shell-escape)} ) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:lfmt) op:Equal rhs:{(lfmt)})] ) (command.AndOr ops: [Op_DAmp] children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Star '$*'))}) (command.Simple words: [{(grep)} {(-E)} {(--)} {(DQ ('-(m|i|x|s|C|-version|-help)'))}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) ] negated: F ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:lfmt) op:Equal rhs:{(DQ )})] ) ] ) (command.Simple words: [{(exec)}] redirects: [(redir.Redir op:<Redir_GreatAnd '4>&'> fd:4 arg_word:{(1)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ls_status) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.BraceGroup children: [ (command.Sentence child: (command.Pipeline children: [ (command.BraceGroup children: [ (command.Sentence child: (C {($ VSub_DollarName '$ls')} {(-lrtq)} {($ VSub_DollarName '$color_opt') ($ VSub_DollarName '$color_when') } {($ VSub_DollarName '$ng')} {($ VSub_DollarName '$gdf')} {($ VSub_DollarName '$quote')} {(DQ ($ VSub_At '$@'))} ) terminator: <Op_Semi ';'> ) (command.Sentence child: (command.Simple words: [{(printf)} {($ VSub_QMark '$?')}] redirects: [ (redir.Redir op: <Redir_GreatAnd '1>&'> fd: 1 arg_word: {(3)} ) ] ) terminator: <Op_Semi ';'> ) ] ) (command.Simple words: [ {(sed)} { (DQ ('\n') (' # Remove total line(s) I never use\n') (' /') ($ VSub_DollarName '$total') (' [0-9,. ]') (Lit_Other '\\') ('{1,') (Lit_Other '\\') ('}') (Lit_Other '$') ('/d\n') ('\n') (' # prettify symlink arrows\n') (' s/ -> / ') ($ VSub_DollarName '$BLD') ($ VSub_DollarName '$SYM_ARROW') ($ VSub_DollarName '$RST') (' /\n') ('\n') (' # Conditionally process long format output\n') (' b ') ($ VSub_DollarName '$lfmt') ('\n') (' :lfmt\n') ('\n') (' # Ignore directory name headings\n') (' /^[^ ]') (Lit_Other '\\') ('{1,') (Lit_Other '\\') ('}:') (Lit_Other '$') ('/b\n') ('\n') (' # temporarily shrink any prepended reset codes\n') (" # from older ls' to a single char\n") (' s/^') ($ VSub_DollarName '$ESC') (Lit_Other '\\') ('[0*m/0/\n') ('\n') (' # highlight ug+s indicators\n') (' s/^') (Lit_Other '\\') ('(0') (Lit_Other '\\') ('{0,1') (Lit_Other '\\') ('}.') (Lit_Other '\\') ('{3') (Lit_Other '\\') ('}') (Lit_Other '\\') (')') (Lit_Other '\\') ('([sS]') (Lit_Other '\\') (')/') (Lit_Other '\\') (1) ($ VSub_DollarName '$HLI') (Lit_Other '\\') (2) ($ VSub_DollarName '$RST') ('/\n') (' s/^') (Lit_Other '\\') ('(0') (Lit_Other '\\') ('{0,1') (Lit_Other '\\') ('}.') (Lit_Other '\\') ('{6') (Lit_Other '\\') ('}') (Lit_Other '\\') (')') (Lit_Other '\\') ('([sS]') (Lit_Other '\\') (')/') (Lit_Other '\\') (1) ($ VSub_DollarName '$HLI') (Lit_Other '\\') (2) ($ VSub_DollarName '$RST') ('/\n') ('\n') (' # highlight +t o+w indicators for directories\n') (' /^0') (Lit_Other '\\') ('{0,1') (Lit_Other '\\') ('}d/!b not_dir\n') (' s/^') (Lit_Other '\\') ('(0') (Lit_Other '\\') ('{0,1') (Lit_Other '\\') ('}.') (Lit_Other '\\') ('{9') (Lit_Other '\\') ('}') (Lit_Other '\\') (')') (Lit_Other '\\') ('([tT]') (Lit_Other '\\') (')/') (Lit_Other '\\') (1) ($ VSub_DollarName '$HLI') (Lit_Other '\\') (2) ($ VSub_DollarName '$RST') ('/\n') (' s/^') (Lit_Other '\\') ('(0') (Lit_Other '\\') ('{0,1') (Lit_Other '\\') ('}.') (Lit_Other '\\') ('{8') (Lit_Other '\\') ('}') (Lit_Other '\\') (')w/') (Lit_Other '\\') (1) (${ VSub_Name HLI) (w) ($ VSub_DollarName '$RST') ('/\n') (' s/^') (Lit_Other '\\') ('(0') (Lit_Other '\\') ('{0,1') (Lit_Other '\\') ('}.') (Lit_Other '\\') ('{3') (Lit_Other '\\') ('}') (Lit_Other '\\') (')') (Lit_Other '\\') ('([sS]') (Lit_Other '\\') (')/') (Lit_Other '\\') (1) ($ VSub_DollarName '$HLI') (Lit_Other '\\') (2) ($ VSub_DollarName '$RST') ('/\n') (' s/^') (Lit_Other '\\') ('(0') (Lit_Other '\\') ('{0,1') (Lit_Other '\\') ('}.') (Lit_Other '\\') ('{6') (Lit_Other '\\') ('}') (Lit_Other '\\') (')') (Lit_Other '\\') ('([sS]') (Lit_Other '\\') (')/') (Lit_Other '\\') (1) ($ VSub_DollarName '$HLI') (Lit_Other '\\') (2) ($ VSub_DollarName '$RST') ('/\n') (' :not_dir\n') ('\n') (' # highlight multiply linked files\n') (' /^0') (Lit_Other '\\') ('{0,1') (Lit_Other '\\') ('}[^d]') (Lit_Other '\\') ('{10,') (Lit_Other '\\') ('}/!b not_hl\n') (' /^[^ ]* *1 /b not_hl\n') (' s/^') (Lit_Other '\\') ('(0') (Lit_Other '\\') ('{0,1') (Lit_Other '\\') ('}[^ ]*') (Lit_Other '\\') (')') (Lit_Other '\\') ('( *') (Lit_Other '\\') (')') (Lit_Other '\\') ('([0-9]') (Lit_Other '\\') ('{1,') (Lit_Other '\\') ('}') (Lit_Other '\\') (')/') (Lit_Other '\\') (1) (Lit_Other '\\') (2) ($ VSub_DollarName '$HLI') (Lit_Other '\\') (3) ($ VSub_DollarName '$RST') ('/\n') (' :not_hl\n') ('\n') (' # restore any reset codes replaced above\n') (' s/^0/') (${ VSub_Name ESC) ('[0m/\n') ) } ] redirects: [ (redir.Redir op: <Redir_GreatAnd '1>&'> fd: 1 arg_word: {(4)} ) ] ) ] negated: F ) terminator: <Op_Semi ';'> ) ] redirects: [(redir.Redir op:<Redir_GreatAnd '3>&'> fd:3 arg_word:{(1)})] ) ] ) ) } ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:sed_status) op:Equal rhs:{($ VSub_QMark '$?')})] ) (command.AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$ls_status')} {(KW_Bang '!') (Lit_Equals '=')} {(0)}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {($ VSub_DollarName '$ls_status')} ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {($ VSub_DollarName '$sed_status')} ) ] ) ] )