From 69606f7207087a6458f74d6918e40c28cdaf5838 Mon Sep 17 00:00:00 2001 From: Orazio Date: Mon, 20 Jan 2020 09:34:43 +0100 Subject: [PATCH] - Allow setting DHCP reservation preference with --unattended - Flip condition check on $dhcpReserv: first check if empty, and if not, check if it's not 1. Doing it the other way (first check if not 1) would give a shell error if $dhcpReserv was empty. --- auto_install/install.sh | 59 ++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/auto_install/install.sh b/auto_install/install.sh index 0f91ab3..4f0b15f 100755 --- a/auto_install/install.sh +++ b/auto_install/install.sh @@ -166,7 +166,7 @@ main(){ avoidStaticIPv4Ubuntu else getStaticIPv4Settings - if [ "$dhcpReserv" -ne 1 ] || [ -z "$dhcpReserv" ]; then + if [ -z "$dhcpReserv" ] || [ "$dhcpReserv" -ne 1 ]; then setStaticIPv4 fi fi @@ -596,43 +596,48 @@ getStaticIPv4Settings() { if [ "${runUnattended}" = 'true' ]; then - local INVALID_STATIC_IPV4_SETTINGS=0 + if [ -z "$dhcpReserv" ] || [ "$dhcpReserv" -ne 1 ]; then + local INVALID_STATIC_IPV4_SETTINGS=0 - if [ -z "$IPv4addr" ]; then - echo "::: Missing static IP address" - INVALID_STATIC_IPV4_SETTINGS=1 - fi + if [ -z "$IPv4addr" ]; then + echo "::: Missing static IP address" + INVALID_STATIC_IPV4_SETTINGS=1 + fi - if [ -z "$IPv4gw" ]; then - echo "::: Missing static IP gateway" - INVALID_STATIC_IPV4_SETTINGS=1 - fi + if [ -z "$IPv4gw" ]; then + echo "::: Missing static IP gateway" + INVALID_STATIC_IPV4_SETTINGS=1 + fi - if [ "$INVALID_STATIC_IPV4_SETTINGS" -eq 1 ]; then - echo "::: Incomplete static IP settings" - exit 1 - fi - - if [ -z "$IPv4addr" ] && [ -z "$IPv4gw" ]; then - echo "::: No static IP settings, using current settings" - echo "::: Your static IPv4 address: ${IPv4addr}" - echo "::: Your static IPv4 gateway: ${IPv4gw}" - else - if validIP "${IPv4addr%/*}"; then - echo "::: Your static IPv4 address: ${IPv4addr}" - else - echo "::: ${IPv4addr%/*} is not a valid IP address" + if [ "$INVALID_STATIC_IPV4_SETTINGS" -eq 1 ]; then + echo "::: Incomplete static IP settings" exit 1 fi - if validIP "${IPv4gw}"; then + if [ -z "$IPv4addr" ] && [ -z "$IPv4gw" ]; then + echo "::: No static IP settings, using current settings" + echo "::: Your static IPv4 address: ${IPv4addr}" echo "::: Your static IPv4 gateway: ${IPv4gw}" else - echo "::: ${IPv4gw} is not a valid IP address" - exit 1 + if validIP "${IPv4addr%/*}"; then + echo "::: Your static IPv4 address: ${IPv4addr}" + else + echo "::: ${IPv4addr%/*} is not a valid IP address" + exit 1 + fi + + if validIP "${IPv4gw}"; then + echo "::: Your static IPv4 gateway: ${IPv4gw}" + else + echo "::: ${IPv4gw} is not a valid IP address" + exit 1 + fi fi + else + echo "::: Skipping setting static IP address" fi + echo "dhcpReserv=${dhcpReserv}" >> /tmp/setupVars.conf echo "IPv4addr=${IPv4addr%/*}" >> /tmp/setupVars.conf echo "IPv4gw=${IPv4gw}" >> /tmp/setupVars.conf return