diff --git a/src/answer.sh b/src/answer.sh
index 24a1975c..aa48c719 100644
--- a/src/answer.sh
+++ b/src/answer.sh
@@ -424,15 +424,15 @@ updateXML() {
local user user_xml auth_user admin pass pw
local domain qualifier host workgroup key
- [ -z "$WIDTH" ] && WIDTH="1280"
- [ -z "$HEIGHT" ] && HEIGHT="720"
+ [ -z "${WIDTH:-}" ] && WIDTH="1280"
+ [ -z "${HEIGHT:-}" ] && HEIGHT="720"
validateResolution "WIDTH" "$WIDTH" 320 || return 1
validateResolution "HEIGHT" "$HEIGHT" 200 || return 1
validateMembership || return 1
- validateComputerName "$HOST" || return 1
- validateProductKey "$KEY" || return 1
- validatePassword "$PASSWORD" || return 1
+ validateComputerName "${HOST:-}" || return 1
+ validateProductKey "${KEY:-}" || return 1
+ validatePassword "${PASSWORD:-}" || return 1
app=$(escapeXMLSed "$APP for $ENGINE") || return 1
@@ -440,7 +440,7 @@ updateXML() {
sed -i -E "s|[^<]*|$HEIGHT|g" "$asset" || return 1
sed -i -E "s|[^<]*|$WIDTH|g" "$asset" || return 1
- if [ -n "$HOST" ]; then
+ if [ -n "${HOST:-}" ]; then
host=$(escapeXMLSed "$HOST") || return 1
sed -i -E "s|[^<]*|$host|g" "$asset" || return 1
fi
@@ -452,7 +452,7 @@ updateXML() {
sed -i "s|en-US|$value|g" "$asset" || return 1
fi
- region="$REGION"
+ region="${REGION:-}"
[ -z "$region" ] && region="$culture"
if [ -n "$region" ] && [[ "${region,,}" != "en-us" ]]; then
@@ -461,7 +461,7 @@ updateXML() {
sed -i "s|en-US|$value|g" "$asset" || return 1
fi
- keyboard="$KEYBOARD"
+ keyboard="${KEYBOARD:-}"
[ -z "$keyboard" ] && keyboard="$culture"
if [ -n "$keyboard" ] && [[ "${keyboard,,}" != "en-us" ]]; then
@@ -470,17 +470,17 @@ updateXML() {
sed -i "s|0409:00000409|$value|g" "$asset" || return 1
fi
- domain="$DOMAIN"
- workgroup="$WORKGROUP"
+ domain="${DOMAIN:-}"
+ workgroup="${WORKGROUP:-}"
if [ -n "$domain" ]; then
- if [ -z "$USERNAME" ]; then
+ if [ -z "${USERNAME:-}" ]; then
error "The USERNAME variable must be specified when joining a domain!"
return 1
fi
- if [ -z "$PASSWORD" ]; then
+ if [ -z "${PASSWORD:-}" ]; then
error "The PASSWORD variable must be specified when joining a domain!"
return 1
fi
@@ -531,7 +531,7 @@ updateXML() {
else
- user="$USERNAME"
+ user="${USERNAME:-}"
validateUsername "$user" "local" || return 1
if [ -n "$user" ]; then
@@ -544,7 +544,7 @@ updateXML() {
sed -i "s|Docker|$user_xml|g" "$asset" || return 1
fi
- [ -n "$PASSWORD" ] && pass="$PASSWORD" || pass="admin"
+ [ -n "${PASSWORD:-}" ] && pass="$PASSWORD" || pass="admin"
pw=$(printf '%s' "${pass}Password" | iconv -f utf-8 -t utf-16le | base64 -w 0) || return 1
admin=$(printf '%s' "${pass}AdministratorPassword" | iconv -f utf-8 -t utf-16le | base64 -w 0) || return 1
@@ -583,11 +583,11 @@ updateXML() {
fi
- if disabled "$AUTOLOGIN"; then
+ if disabled "${AUTOLOGIN:-}"; then
sed -i -E '/^[[:space:]]*])/,/^[[:space:]]*<\/AutoLogon>[[:space:]]*$/d' "$asset" || return 1
fi
- if [ -n "$EDITION" ]; then
+ if [ -n "${EDITION:-}" ]; then
case "${EDITION,,}" in
"core" ) edition="STANDARDCORE" ;;
* ) edition="${EDITION^^}" ;;
@@ -597,14 +597,14 @@ updateXML() {
sed -i "s|SERVERSTANDARD|SERVER$edition|g" "$asset" || return 1
fi
- if [ -n "$KEY" ]; then
+ if [ -n "${KEY:-}" ]; then
key=$(escapeXMLSed "$KEY") || return 1
sed -i -E '/^[[:space:]]*[[:space:]]*$/,/^[[:space:]]*<\/ProductKey>[[:space:]]*$/d' "$asset" || return 1
sed -i -E "s|[^<]*|$key|g" "$asset" || return 1
sed -i "s|| \n $key\n OnError\n \n |g" "$asset" || return 1
fi
- if disabled "$SHORTCUT" || disabled "$SAMBA"; then
+ if disabled "${SHORTCUT:-}" || disabled "${SAMBA:-}"; then
if ! sed -i -E '
/])/ {
:command
diff --git a/src/install.sh b/src/install.sh
index b7082d51..51d71d7b 100644
--- a/src/install.sh
+++ b/src/install.sh
@@ -399,11 +399,11 @@ extractESD() {
local desc="$4"
local msg ret index
- local minSize freeSpace bootPad installPad
+ local minSize freeSpace bootPad
local info count totals links
local bootTotal bootLinks bootSize
local wimTotal wimLinks wimSize
- local installSize
+ local installSize installPad
local bootWim installWim
local edition imgEdition