* fix(iptag): Fix syntax error in VM config file parsing
The array assignment was using an invalid pipe construct inside the loop:
vmids+=("${conf##*/}" | sed 's/\.conf$//')
This caused a bash syntax error:
syntax error near unexpected token '2'
Fixed by using:
- shopt -s nullglob to handle empty directories gracefully
- Parameter expansion ${filename%.conf} instead of sed pipe
Fixes#10595
* fix(iptag): Fix syntax error in VM config file parsing
The array assignment was using an invalid pipe construct inside the loop:
vmids+=("${conf##*/}" | sed 's/\.conf$//')
This caused a bash syntax error:
syntax error near unexpected token '2'
Fixed by using parameter expansion ${basename%.conf} instead of sed pipe.
Fixes#10595
- **Interactive Configuration**: Added setup wizard for `TAG_FORMAT` (last_two_octets/last_octet/full) and `LOOP_INTERVAL` (30-7200 seconds) during installation/update
- **Unified Installation Menu**: Replaced conditional service detection with unified menu offering install-with-service, install-command-only, and update options
- **Post-Installation Guidance**: Added comprehensive information display about configuration file location (`/opt/iptag/iptag.conf`) and required CIDR_LIST setup
- **Improved VM IP Detection**: Enhanced IP discovery with QM guest agent priority, ARP table validation via ping, and automatic removal of stale ARP entries
- **Visual Indicators**: Replaced emoji symbols with standard ASCII characters (✓/✗) with proper colors for better terminal compatibility
- **Simplified Update Process**: Removed complex service detection logic and provided direct update option in main menu
These changes address user feedback about complex installation requirements, VM IP detection issues, and provide clearer guidance for network subnet configuration.