(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:includedir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [48] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objpfx) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$2'))} spids: [53] ) ] ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$objpfx'))}) (C {<shopt>} {<-s>} {<nullglob>}) (C {<exec>} {(${ Id.VSub_Name AWK)} {<-v>} {<Id.Lit_VarLike 'includedir='> (DQ ($ Id.VSub_DollarName '$includedir'))} { (SQ <'\n'> <'BEGIN {\n'> <' status = 0\n'> <' exclude = "^" includedir \\\n'> < ' "/(.*-.*-.*/|)(asm[-/]|arch|linux/|selinux/|mach/|device/|hurd/(((hurd|ioctl)_types|paths)\\\\.h|ioctls\\\\.defs)|cthreads\\\\.h|gd|nss3/|c\\\\+\\\\+/|sys/(capability|sdt(|-config))\\\\.h|libaudit\\\\.h)"\n' > <'}\n'> <'/^[^ ]/ && $1 ~ /.*:/ { obj = $1 }\n'> <'{\n'> <' for (i = 1; i <= NF; ++i) {\n'> <' if ($i ~ ("^" includedir) && $i !~ exclude) {\n'> <' print "***", obj, "uses", $i\n'> <' status = 1\n'> <' }\n'> <' }\n'> <'}\n'> <'END { exit status }'> ) } (word.BracedTree parts: [ <Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'> <.> (word_part.BracedTuple words:[{<o>} {<os>} {<oS>}]) <.d> ] ) ) ] )