(BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LANG='> name:LANG) op: assign_op.Equal rhs: {<en_GB.UTF-8>} spids: [87] ) ] redirects: [] ) (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INPUT='> name:INPUT) op: assign_op.Equal rhs: {<0>} spids: [104] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_EqualTilde left: {($ Id.VSub_Number 1)} right: {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'> } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INPUT='> name:INPUT) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [133] ) ] redirects: [] ) ] spids: [109 129] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FILEPATH_RAM='> name:FILEPATH_RAM) op: assign_op.Equal rhs: {(DQ <'/DietPi'>)} spids: [155] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FILEPATH_DISK='> name:FILEPATH_DISK) op: assign_op.Equal rhs: {(DQ <'/boot'>)} spids: [161] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'aFILE_BOOT_INI='> name:aFILE_BOOT_INI) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [{(SQ <dietpi.txt>)} {(SQ <config.txt>)} {(SQ <boot.ini>)} {(SQ <uEnv.txt>)}] ) } spids: [172] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INPUT)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<'/DietPi/.ramdisk'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {<-e>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<date>}) right: <Id.Eof_RParen _> ) <' | DietPi-Ramdisk: Starting'> ) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName FILEPATH_RAM)) <'/dietpi'>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName FILEPATH_RAM)) <'/dietpi/conf'>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName FILEPATH_RAM)) <'/dietpi/func'>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName FILEPATH_RAM)) <'/dietpi/misc'>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aFILE_BOOT_INI> var_name: aFILE_BOOT_INI prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} { (DQ ($ Id.VSub_DollarName FILEPATH_DISK) <'/'> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aFILE_BOOT_INI> var_name: aFILE_BOOT_INI bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<cp>} {(DQ ($ Id.VSub_DollarName FILEPATH_DISK)) <'/'> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aFILE_BOOT_INI> var_name: aFILE_BOOT_INI bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } {(DQ ($ Id.VSub_DollarName FILEPATH_RAM)) <'/'>} ) (C {<sed>} {<-i>} { (single_quoted left: <Id.Left_DollarSingleQuote '$\''> tokens: [ <Id.Char_Literals 's/'> <Id.Char_OneChar '\\r'> <Id.Char_Literals '$//'> ] right: <Id.Right_SingleQuote '\''> ) } {(DQ ($ Id.VSub_DollarName FILEPATH_RAM)) <'/'> (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name aFILE_BOOT_INI> var_name: aFILE_BOOT_INI bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ) ] spids: [343 363] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (C {<cp>} {<-Rf>} {(DQ ($ Id.VSub_DollarName FILEPATH_DISK)) <'/dietpi'>} {(DQ ($ Id.VSub_DollarName FILEPATH_RAM)) <'/'>} ) (C {<chmod>} {<-R>} {<Id.Lit_Other '+'> <x>} {(DQ ($ Id.VSub_DollarName FILEPATH_RAM))} ) (command.Simple words: [{<echo>} {<-e>} {(DQ <0>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/DietPi/.ramdisk'>} ) ] more_env: [] do_fork: T ) (C {<echo>} {<-e>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<date>}) right: <Id.Eof_RParen _> ) <' | DietPi-Ramdisk: Completed'> ) } ) ] spids: [235 248] ) ] else_action: [ (C {<echo>} {<-e>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<date>}) right: <Id.Eof_RParen _> ) <' | DietPi-Ramdisk: Already running'> ) } ) ] redirects: [] ) ] spids: [217 231] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName INPUT)} right: {<Id.Lit_Digits 1>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {<-e>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<date>}) right: <Id.Eof_RParen _> ) <' | DietPi-Ramdisk: Stopping'> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {<'/DietPi/.ramdisk'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<'/DietPi/dietpi/boot'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {<-e>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<date>}) right: <Id.Eof_RParen _> ) <' | DietPi-Ramdisk: Error - /DietPi/dietpi/boot is missing, aborting...'> ) } ) ] spids: [561 574] ) ] else_action: [ (C {<cp>} {<-Rf>} {(DQ ($ Id.VSub_DollarName FILEPATH_RAM)) <'/'> <Id.Lit_Star '*'>} {<'/boot/'>} ) (command.Simple words: [{<rm>} {<'/DietPi/.ramdisk'>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] redirects: [] ) (C {<echo>} {<-e>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<date>}) right: <Id.Eof_RParen _> ) <' | DietPi-Ramdisk: Completed'> ) } ) ] spids: [546 557] ) ] else_action: [ (C {<echo>} {<-e>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<date>}) right: <Id.Eof_RParen _> ) <' | DietPi-Ramdisk: Is not currently running'> ) } ) ] redirects: [] ) ] spids: [515 529] ) ] else_action: [] redirects: [] ) (C {<sync>}) (C {<unset>} {<aFILE_BOOT_INI>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] redirects: [] right: <Id.Lit_RBrace '}'> )