From e92c88f9aa4375fe6a52c8b40e3ede541553c99d Mon Sep 17 00:00:00 2001 From: Developer Date: Tue, 21 Apr 2026 22:16:50 -0400 Subject: [PATCH] OPTIMIZATION: Replace 12 basename calls with bash parameter expansion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reduces command substitution overhead by using bash parameter expansion ${var##*/} instead of $(basename "$var") for extracting filenames. Replaced instances (12 total): 1. Line 1458: SCAN_DIR basename in standalone scan header 2. Line 1678: SCAN_DIR basename in summary report header 3. Line 2321: SCAN_DIR basename in scan ID display 4. Line 2330: SCAN_DIR basename in completion message 5. Line 2852: $dir basename in session enumeration loop 6. Line 2927: $dir basename in session status loop 7. Line 2955: $dir basename in session deletion message 8. Line 2979: $selected_dir basename in session selection 9. Line 3346: $dir basename in session list display 10. Line 3381: $selected_dir basename in session info display 11. Line 3484: $scan_dir basename in report generation 12. Line 3347: Bonus: Replaced echo | sed with ${var#pattern} Performance Impact: - Eliminates 12 subprocess calls per execution - bash parameter expansion is O(1), no fork overhead - Each basename call requires subprocess creation/destruction Status: ✓ All 12 basename calls optimized, syntax validated --- modules/security/malware-scanner.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/security/malware-scanner.sh b/modules/security/malware-scanner.sh index f17fcec..4ce1dcb 100755 --- a/modules/security/malware-scanner.sh +++ b/modules/security/malware-scanner.sh @@ -1455,7 +1455,7 @@ clear echo "========================================" echo "Standalone Malware Scanner" echo "========================================" -echo "Session: $(basename "$SCAN_DIR")" +echo "Session: ${SCAN_DIR##*/}" echo "Started: $(date)" echo "========================================" echo "" @@ -1675,7 +1675,7 @@ fi echo "==========================================" echo "Malware Scan Summary Report" echo "==========================================" - echo "Session: $(basename "$SCAN_DIR")" + echo "Session: ${SCAN_DIR##*/}" echo "Started: $(date)" echo "Scanners: ${available_scanners[*]}" echo "Paths: ${#SCAN_PATHS[@]}" @@ -1856,7 +1856,7 @@ for scanner in "${available_scanners[@]}"; do # Try to get current file being scanned (FIXED Issue 5A: simpler, more robust pattern) current_file=$(grep -oE '\./[^ ]+|/[^ ]+' "$LOG_DIR/clamav.log" 2>/dev/null | tail -1) if [ -n "$current_file" ]; then - filename=$(basename "$current_file" 2>/dev/null || echo "...") + filename=${current_file##*/} # Only update display when filename changes if [ "$filename" != "$last_filename" ]; then @@ -2318,7 +2318,7 @@ else fi echo "" - echo "Scan ID: $(basename "$SCAN_DIR")" + echo "Scan ID: ${SCAN_DIR##*/}" } > "$client_report_file" fi @@ -2327,7 +2327,7 @@ clear echo "==========================================" echo -e "${GREEN}Malware Scan Complete!${NC}" echo "==========================================" -echo "Session: $(basename "$SCAN_DIR")" +echo "Session: ${SCAN_DIR##*/}" echo "Completed: $(date)" echo "" echo "Results saved to:" @@ -2849,7 +2849,7 @@ check_standalone_status() { local error_count=0 for dir in "${standalone_dirs[@]}"; do - local session_name=$(basename "$dir") + local session_name=${dir##*/} # Check if still running by looking for bash process executing scan.sh # Use pgrep with exact match to avoid false positives from viewers/editors @@ -2924,7 +2924,7 @@ delete_standalone_sessions() { # List sessions with status local i=1 for dir in "${standalone_dirs[@]}"; do - local session_name=$(basename "$dir") + local session_name=${dir##*/} local status="completed" if pgrep -f "bash $dir/scan.sh" > /dev/null 2>&1 || [ -f "$dir/.scan_running" ]; then @@ -2952,7 +2952,7 @@ delete_standalone_sessions() { local deleted=0 for dir in "${standalone_dirs[@]}"; do if ! pgrep -f "$dir/scan.sh" > /dev/null 2>&1; then - echo "Deleting: $(basename "$dir")" + echo "Deleting: ${dir##*/}" rm -rf "$dir" deleted=$((deleted + 1)) fi @@ -2976,7 +2976,7 @@ delete_standalone_sessions() { fi local selected_dir="${standalone_dirs[$((delete_choice-1))]}" - local session_name=$(basename "$selected_dir") + local session_name=${selected_dir##*/} # Check if running if pgrep -f "$selected_dir/scan.sh" > /dev/null 2>&1; then @@ -3343,8 +3343,8 @@ view_scan_results() { # List sessions local i=1 for dir in "${standalone_dirs[@]}"; do - local session_name=$(basename "$dir") - local scan_date=$(echo "$session_name" | sed 's/malware-//') + local session_name=${dir##*/} + local scan_date=${session_name#malware-} # Check if still running local status="completed" @@ -3378,7 +3378,7 @@ view_scan_results() { local selected_dir="${standalone_dirs[$((session_choice-1))]}" echo "" - echo "Session: $(basename $selected_dir)" + echo "Session: ${selected_dir##*/}" echo "Location: $selected_dir" echo "" @@ -3481,7 +3481,7 @@ generate_client_report() { fi # Extract scan info - local session_name=$(basename "$scan_dir") + local session_name=${scan_dir##*/} local scan_date=$(grep "Started:" "$summary_file" | head -1 | sed 's/Started: //' || echo "Unknown") local scan_paths=$(sed -n '/^Paths:/,/^$/p' "$summary_file" | tail -n +2 | grep -v "^$" | tr '\n' ', ' | sed 's/, $//' || echo "/")