6-add-ssh-to-bootloader #20
							
								
								
									
										23
									
								
								setup.sh
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								setup.sh
									
									
									
									
									
								
							| @@ -468,6 +468,29 @@ function in_file_in_array_insert_n_before_m () { | ||||
|     arg_array="${2:?}" | ||||
|     arg_string="${3:?}" | ||||
|     arg_precede="${4:?}" | ||||
|  | ||||
|     # Look for a line that contains in this order | ||||
|     # - String "${arg_array}" and a equals sign (=), assign capture group \1 | ||||
|     # - Followed by as few characters as possible followed by either an | ||||
|     #   opening parenthesis or a space character, assign capture group \2 | ||||
|     # - String "${arg_precede}", capture as capture group \3 | ||||
|     # - Followed by either a closing parenthesis or a space which are then | ||||
|     #   followed by as many non-line break characters as possible, capture | ||||
|     #   as capture group \2 | ||||
|     # | ||||
|     # For following example text we're assuming that: | ||||
|     # - "${arg_array}"   equals 'HOOKS' | ||||
|     # - "${arg_precede}" equals 'filesystems' | ||||
|     # - "${arg_string}"  equals 'zfs' | ||||
|     # | ||||
|     # This finds a 'HOOKS=' array definition that contains the string | ||||
|     # 'filesystems' either at the beginning of the 'HOOKS=(...)' opening | ||||
|     # parenthesis, at the very end or somewhere in the middle where it may | ||||
|     # be preceded or followed by one or more space characters. It saves | ||||
|     # 'HOOKS=', it saves whatever precedes 'filesystems' and 'filesystems' | ||||
|     # itself plus whatever comes after 'filesystems' until end of line. It | ||||
|     # lastly inserts 'zfs' and a space character right in front of | ||||
|     # 'filesystems'. | ||||
|     sed -ri \ | ||||
|         -e 's'$'\x1''('"${arg_array}"'=)(.*?[( ])('"${arg_precede}"')([) ][^\r\n\f]*)'$'\x1''\1\2'"${arg_string}"' \3\4'$'\x1''g' \ | ||||
|         "${arg_file}" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user