(command.CommandList children: [ (command.Simple blame_tok: <.> more_env: [] words: [ {<.>} { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <dirname> more_env: [] words: [{<dirname>} {($ Id.VSub_Number 0)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) <'/conf.sh'> } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'base='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'base='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'base='> name:base) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <basename> more_env: [] words: [{<basename>} {($ Id.VSub_Number 0)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'sectors='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'sectors='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sectors='> name:sectors) op: assign_op.Equal rhs: {<100>} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <1..200>)}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <do_test> name: do_test body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'cipher='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cipher='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cipher='> name:cipher) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'secsize='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'secsize='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'secsize='> name:secsize) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ealgo='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ealgo='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ealgo='> name:ealgo) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name cipher> var_name: cipher suffix_op: (suffix_op.Unary op: <Id.VOp1_DPercent '%%'> arg_word: {<':'> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'keylen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'keylen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'keylen='> name:keylen) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name cipher> var_name: cipher suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <':'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.ShAssignment left: <Id.Lit_VarLike 'rnd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rnd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rnd='> name:rnd) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <mktemp> more_env: [] words: [{<mktemp>} {($ Id.VSub_DollarName base) <.XXXXXX>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <mdconfig> more_env: [] words: [ {<mdconfig>} {<-a>} {<-t>} {<malloc>} {<-s>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <expr> more_env: [] words: [ {<expr>} {($ Id.VSub_DollarName secsize)} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'> ch:'*')} {($ Id.VSub_DollarName sectors)} ] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) <b> } {<-u>} {($ Id.VSub_DollarName no)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <geli> more_env: [] words: [ {<geli>} {<onetime>} {<-e>} {($ Id.VSub_DollarName ealgo)} {<-l>} {($ Id.VSub_DollarName keylen)} {<-s>} {($ Id.VSub_DollarName secsize)} {<md> (${ Id.VSub_Name no)} ] redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'secs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'secs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'secs='> name:secs) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <diskinfo> more_env: [] words: [{<diskinfo>} {<'/dev/md'> (${ Id.VSub_Name no) <.eli>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [{<awk>} {(SQ <'{print $4}'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <dd> more_env: [] words: [ {<dd>} {<Id.Lit_VarLike 'if='> <'/dev/random'>} {<Id.Lit_VarLike 'of='> (${ Id.VSub_Name rnd)} {<Id.Lit_VarLike 'bs='> (${ Id.VSub_Name secsize)} {<Id.Lit_VarLike 'count='> (${ Id.VSub_Name secs)} ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (Redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.Simple blame_tok: <dd> more_env: [] words: [ {<dd>} {<Id.Lit_VarLike 'if='> (${ Id.VSub_Name rnd)} {<Id.Lit_VarLike 'of='> <'/dev/md'> (${ Id.VSub_Name no) <.eli>} {<Id.Lit_VarLike 'bs='> (${ Id.VSub_Name secsize)} {<Id.Lit_VarLike 'count='> (${ Id.VSub_Name secs)} ] redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'md_rnd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'md_rnd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'md_rnd='> name:md_rnd) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <dd> more_env: [] words: [ {<dd>} {<Id.Lit_VarLike 'if='> (${ Id.VSub_Name rnd)} {<Id.Lit_VarLike 'bs='> (${ Id.VSub_Name secsize)} {<Id.Lit_VarLike 'count='> (${ Id.VSub_Name secs)} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <md5> more_env: [] words: [{<md5>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'md_ddev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'md_ddev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'md_ddev='> name:md_ddev) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <dd> more_env: [] words: [ {<dd>} {<Id.Lit_VarLike 'if='> <'/dev/md'> (${ Id.VSub_Name no) <.eli>} {<Id.Lit_VarLike 'bs='> (${ Id.VSub_Name secsize)} {<Id.Lit_VarLike 'count='> (${ Id.VSub_Name secs)} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <md5> more_env: [] words: [{<md5>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'md_edev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'md_edev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'md_edev='> name:md_edev) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <dd> more_env: [] words: [ {<dd>} {<Id.Lit_VarLike 'if='> <'/dev/md'> (${ Id.VSub_Name no)} {<Id.Lit_VarLike 'bs='> (${ Id.VSub_Name secsize)} {<Id.Lit_VarLike 'count='> (${ Id.VSub_Name secs)} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <md5> more_env: [] words: [{<md5>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(${ Id.VSub_Name md_rnd)} {<Id.Lit_Equals '='>} {(${ Id.VSub_Name md_ddev)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'ok '> ($ Id.VSub_DollarName i) <' - ealgo='> (${ Id.VSub_Name ealgo) <' keylen='> (${ Id.VSub_Name keylen) <' sec='> (${ Id.VSub_Name secsize) ) } ] redirects: [] do_fork: T ) ] spids: [324 341] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'not ok '> ($ Id.VSub_DollarName i) <' - ealgo='> (${ Id.VSub_Name ealgo) <' keylen='> (${ Id.VSub_Name keylen) <' sec='> (${ Id.VSub_Name secsize) ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i) op: assign_op.Equal rhs: { (word_part.ArithSub left: <Id.Left_DollarDParen '$(('> anode: (arith_expr.Binary op_id: Id.Arith_Plus left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 1>} ) right: <Id.Right_DollarDParen _> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(${ Id.VSub_Name md_rnd)} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(${ Id.VSub_Name md_edev)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'ok '> ($ Id.VSub_DollarName i) <' - ealgo='> (${ Id.VSub_Name ealgo) <' keylen='> (${ Id.VSub_Name keylen) <' sec='> (${ Id.VSub_Name secsize) ) } ] redirects: [] do_fork: T ) ] spids: [399 417] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'not ok '> ($ Id.VSub_DollarName i) <' - ealgo='> (${ Id.VSub_Name ealgo) <' keylen='> (${ Id.VSub_Name keylen) <' sec='> (${ Id.VSub_Name secsize) ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i) op: assign_op.Equal rhs: { (word_part.ArithSub left: <Id.Left_DollarDParen '$(('> anode: (arith_expr.Binary op_id: Id.Arith_Plus left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 1>} ) right: <Id.Right_DollarDParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <geli> more_env: [] words: [{<geli>} {<detach>} {<md> (${ Id.VSub_Name no)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {($ Id.VSub_DollarName rnd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mdconfig> more_env: [] words: [{<mdconfig>} {<-d>} {<-u>} {($ Id.VSub_DollarName no)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'i='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'i='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.Simple blame_tok: <for_each_geli_config_nointegrity> more_env: [] words: [{<for_each_geli_config_nointegrity>} {<do_test>}] redirects: [] do_fork: T ) ] )