(command.CommandList children: [ (C {<set>} {<-e>}) (command.ShFunction name: die body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple words: [{<echo>} {(DQ ($ Id.VSub_At '@'))}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] more_env: [] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'img='> name:img) op: assign_op.Equal rhs: {<'/usr/share/clear-containers/clear-containers.img'>} spids: [33] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'img='> name:img) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<readlink>} {<-f>} {(DQ ($ Id.VSub_DollarName img))}) right: <Id.Eof_RParen _> ) } spids: [36] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'img_size='> name:img_size) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<du>} {<-b>} {(DQ (${ Id.VSub_Name img))}) (C {<awk>} {(SQ <'{print $1}'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } spids: [47] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kernel='> name:kernel) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<pwd>}) right: <Id.Eof_RParen _> ) <'/clear-containers-vmlinux'> ) } spids: [69] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'kernel_cmdline_file='> name: kernel_cmdline_file ) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<pwd>}) right: <Id.Eof_RParen _> ) <'/clear-containers-cmdline'> ) } spids: [77] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ (${ Id.VSub_Name img))} {<Id.Lit_RBracket ']'>}) (C {<die>} {(DQ <'Image s required'>)}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ (${ Id.VSub_Name kernel))} {<Id.Lit_RBracket ']'>}) (C {<die>} {(DQ <'Kernel is required'>)}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name kernel_cmdline_file)} {<Id.Lit_RBracket ']'>}) (C {<die>} {(DQ <'Kernel cmdline file is required'>)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kernel_cmdline='> name:kernel_cmdline) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} {(DQ ($ Id.VSub_DollarName kernel_cmdline_file))}) right: <Id.Eof_RParen _> ) } spids: [146] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ <'/usr/bin/qemu-lite-system-x86_64'>)} spids: [156] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -machine pc-lite,accel=kvm,kernel_irqchip,nvdimm'>)} spids: [161] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -device nvdimm,memdev=mem0,id=nv0'>)} spids: [167] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName cmd) <' -object memory-backend-file,id=mem0,mem-path='> (${ Id.VSub_Name img) <',size='> (${ Id.VSub_Name img_size) ) } spids: [176] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -m 2G,slots=2,maxmem=3G'>)} spids: [192] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -kernel '> (${ Id.VSub_Name kernel))} spids: [201] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -append \''> (${ Id.VSub_Name kernel_cmdline) <'\''>)} spids: [210] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -smp 2,sockets=1,cores=2,threads=1'>)} spids: [223] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -cpu host'>)} spids: [229] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -rtc base=utc,driftfix=slew'>)} spids: [238] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -no-user-config'>)} spids: [244] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -nodefaults'>)} spids: [250] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -global'>)} spids: [256] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' kvm-pit.lost_tick_policy=discard'>)} spids: [262] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -device virtio-serial-pci,id=virtio-serial0'>)} spids: [271] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -chardev stdio,id=charconsole0,signal=off'>)} spids: [277] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName cmd) <' -device virtconsole,chardev=charconsole0,id=console0'>) } spids: [283] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -nographic'>)} spids: [289] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cmd) <' -vga none'>)} spids: [295] ) ] redirects: [] ) (C {<eval>} {(DQ ($ Id.VSub_DollarName cmd))}) ] )