From a868143eca1a5cbbf134613583f12c7049ac0997 Mon Sep 17 00:00:00 2001 From: shuki Date: Fri, 6 Mar 2026 05:44:48 +0200 Subject: [PATCH] Fix install web setup: use if/else instead of grep&&sed||echo chain The && || chain with set -e caused syntax errors on some systems. Co-Authored-By: Claude Opus 4.6 --- scripts/install.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/scripts/install.sh b/scripts/install.sh index 98946f1..8147d5e 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -164,14 +164,18 @@ enable_web="n" read -rp "Enable web dashboard? (y/n) [n]: " enable_web || true if [ "$enable_web" = "y" ] || [ "$enable_web" = "Y" ]; then # Update config - grep -q "^WEB_ENABLED=" "$CONFIG_DIR/gniza.conf" 2>/dev/null \ - && sed -i 's|^WEB_ENABLED=.*|WEB_ENABLED="yes"|' "$CONFIG_DIR/gniza.conf" \ - || echo 'WEB_ENABLED="yes"' >> "$CONFIG_DIR/gniza.conf" + if grep -q "^WEB_ENABLED=" "$CONFIG_DIR/gniza.conf" 2>/dev/null; then + sed -i 's|^WEB_ENABLED=.*|WEB_ENABLED="yes"|' "$CONFIG_DIR/gniza.conf" + else + echo 'WEB_ENABLED="yes"' >> "$CONFIG_DIR/gniza.conf" + fi # Generate random API key api_key="$(python3 -c 'import secrets; print(secrets.token_urlsafe(32))')" - grep -q "^WEB_API_KEY=" "$CONFIG_DIR/gniza.conf" 2>/dev/null \ - && sed -i "s|^WEB_API_KEY=.*|WEB_API_KEY=\"${api_key}\"|" "$CONFIG_DIR/gniza.conf" \ - || echo "WEB_API_KEY=\"${api_key}\"" >> "$CONFIG_DIR/gniza.conf" + if grep -q "^WEB_API_KEY=" "$CONFIG_DIR/gniza.conf" 2>/dev/null; then + sed -i "s|^WEB_API_KEY=.*|WEB_API_KEY=\"${api_key}\"|" "$CONFIG_DIR/gniza.conf" + else + echo "WEB_API_KEY=\"${api_key}\"" >> "$CONFIG_DIR/gniza.conf" + fi echo "Web API key: $api_key" echo "Save this key -- you will need it to log into the dashboard." # Install systemd service (root only)