Set a main function
This commit is contained in:
		
							parent
							
								
									8376bd355e
								
							
						
					
					
						commit
						16e1324b2a
					
				
							
								
								
									
										64
									
								
								winboot
								
								
								
								
							
							
						
						
									
										64
									
								
								winboot
								
								
								
								
							|  | @ -1,31 +1,47 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| GRUB_DEFAULT_PATH='/etc/default/grub' | ||||
| GRUB_DEFAULT_DIR='/etc/default/grub.d' | ||||
| WIN_GRUB="2" | ||||
| # This script set a specific grub entry (winLOOSE…) for the next boot. | ||||
| # Then reboot the host | ||||
| 
 | ||||
| # First check in Grub default dir if saved mode is set | ||||
| if grep -q -E -R -- "^GRUB_DEFAULT=saved" "${GRUB_DEFAULT_DIR}" | ||||
| then | ||||
| 	printf '%b' "Reboot to windaube partition\\n" | ||||
| 	sudo grub-reboot "${WIN_GRUB}" | ||||
| 	sudo systemctl reboot | ||||
| fi | ||||
| # Vars {{{ | ||||
| readonly PROGNAME=$(basename "${0}") | ||||
| readonly PROGDIR=$(readlink -m $(dirname "${0}")) | ||||
| readonly ARGS="${*}" | ||||
| readonly NBARGS="${#}" | ||||
| 
 | ||||
| # Otherwise check the default grub file | ||||
| if grep -q -E -- "^GRUB_DEFAULT=saved" "${GRUB_DEFAULT_PATH}" | ||||
| then | ||||
| 	printf '%b' "Reboot to windaube partition\\n" | ||||
| 	sudo grub-reboot "${WIN_GRUB}" | ||||
| 	sudo systemctl reboot | ||||
| else | ||||
| readonly GRUB_DEFAULT_PATH='/etc/default/grub' | ||||
| readonly GRUB_DEFAULT_DIR='/etc/default/grub.d' | ||||
| readonly WIN_GRUB="2" | ||||
| # }}} | ||||
| 
 | ||||
| 	printf '%b' "GRUB_DEFAULT is not set in 'saved' mode\\n" | ||||
| 	sudo sed -i 's/\(^GRUB_DEFAULT.*\)/#\1\nGRUB_DEFAULT=saved/' "${GRUB_DEFAULT_PATH}" | ||||
| 	GRUB_DEFAULT_ENTRY=$(grep -E -- "#GRUB_DEFAULT=" "${GRUB_DEFAULT_PATH}" | cut -d"=" -f2) | ||||
| 	sudo grub-set-default "${GRUB_DEFAULT_ENTRY}" | ||||
| 	sudo update-grub | ||||
| 	printf '%b' "Please launch this script once again.\\n" | ||||
| fi | ||||
| main() {                                                        # {{{ | ||||
| 
 | ||||
| 	# First check in Grub default dir if saved mode is set | ||||
| 	if grep -q -E -R -- "^GRUB_DEFAULT=saved" "${GRUB_DEFAULT_DIR}" | ||||
| 	then | ||||
| 		printf '%b' "Reboot to windaube partition\\n" | ||||
| 		sudo grub-reboot "${WIN_GRUB}" | ||||
| 		sudo systemctl reboot | ||||
| 	fi | ||||
| 
 | ||||
| 	# Otherwise check the default grub file | ||||
| 	if grep -q -E -- "^GRUB_DEFAULT=saved" "${GRUB_DEFAULT_PATH}" | ||||
| 	then | ||||
| 		printf '%b' "Reboot to windaube partition\\n" | ||||
| 		sudo grub-reboot "${WIN_GRUB}" | ||||
| 		sudo systemctl reboot | ||||
| 	else | ||||
| 
 | ||||
| 		printf '%b' "GRUB_DEFAULT is not set in 'saved' mode\\n" | ||||
| 		sudo sed -i 's/\(^GRUB_DEFAULT.*\)/#\1\nGRUB_DEFAULT=saved/' "${GRUB_DEFAULT_PATH}" | ||||
| 		GRUB_DEFAULT_ENTRY=$(grep -E -- "#GRUB_DEFAULT=" "${GRUB_DEFAULT_PATH}" | cut -d"=" -f2) | ||||
| 		sudo grub-set-default "${GRUB_DEFAULT_ENTRY}" | ||||
| 		sudo update-grub | ||||
| 		printf '%b' "Please launch this script (${PROGDIR}/${PROGNAME} ${ARGS}) once again.\\n" | ||||
| 	fi | ||||
| } | ||||
| # }}} | ||||
| 
 | ||||
| main | ||||
| 
 | ||||
| exit 0 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue