save, then run, dont execuet while piping
This commit is contained in:
parent
7beb5bf119
commit
aa9ba7ce23
13
install.sh
13
install.sh
@ -4,6 +4,14 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# If we're being piped, save to a temp file and re-execute
|
||||
if [ ! -t 0 ]; then
|
||||
TEMP_SCRIPT=$(mktemp)
|
||||
cat > "$TEMP_SCRIPT"
|
||||
chmod +x "$TEMP_SCRIPT"
|
||||
exec bash "$TEMP_SCRIPT"
|
||||
fi
|
||||
|
||||
BANNER=$(cat << "EOF"
|
||||
:^7J5GB##&&##GPY?~:
|
||||
^75B&@@@@@@&&&@@@@@@@#GJ~:
|
||||
@ -93,8 +101,9 @@ sed -i "s/^CRYPTPASSWORD .*/CRYPTPASSWORD $LUKS_PASS/" install.conf
|
||||
# Update post-install.sh
|
||||
sed -i "s/^ALMA_USER=.*/ALMA_USER=\"$USERNAME\"/" post-install.sh
|
||||
# Use a different approach for SSH_KEY to handle special characters
|
||||
escaped_key=$(printf '%s\n' "$SSH_KEY" | sed 's/[[\.*^$()+?{|]/\\&/g')
|
||||
sed -i "s|^SSH_KEY=.*|SSH_KEY=\"$escaped_key\"|" post-install.sh
|
||||
# Escape the SSH key for use in sed by replacing special characters
|
||||
escaped_key=$(printf '%s' "$SSH_KEY" | sed 's/[[\.*^$()+?{|]/\\&/g; s/]/\\&/g')
|
||||
sed -i "s|^SSH_KEY=.*|SSH_KEY=\"${escaped_key}\"|" post-install.sh
|
||||
|
||||
# Copy to root directory where installimage expects them
|
||||
cp install.conf /root/
|
||||
|
Loading…
Reference in New Issue
Block a user