Fix trace eraser temp file bug
Changes: - Calculate lines removed before deleting temp files - Add error handling to line count calculations - Prevent 'No such file or directory' error on line 163 Tested: ✓ Pattern-based removal works correctly ✓ Removes toolkit entries regardless of position ✓ No temp file access errors
This commit is contained in:
@@ -148,17 +148,25 @@ if [ "$CLEAN_HISTORY" = true ] && [ -f ~/.bash_history ]; then
|
|||||||
# Disable history recording for this session to prevent re-adding commands
|
# Disable history recording for this session to prevent re-adding commands
|
||||||
set +o history
|
set +o history
|
||||||
|
|
||||||
# Remove last 10 lines from history file (covers toolkit download/usage)
|
# Remove toolkit-related entries from history file
|
||||||
total_lines=$(wc -l < ~/.bash_history)
|
cp ~/.bash_history ~/.bash_history.tmp
|
||||||
if [ "$total_lines" -gt 10 ]; then
|
|
||||||
lines_to_keep=$((total_lines - 10))
|
# Remove lines containing toolkit-related patterns
|
||||||
head -n "$lines_to_keep" ~/.bash_history > ~/.bash_history.tmp
|
grep -v "git.mull.lol" ~/.bash_history.tmp > ~/.bash_history.tmp2 2>/dev/null || true
|
||||||
mv ~/.bash_history.tmp ~/.bash_history
|
grep -v "linux-server-management-toolkit" ~/.bash_history.tmp2 > ~/.bash_history.tmp3 2>/dev/null || true
|
||||||
echo " ✓ Removed last 10 history entries"
|
grep -v "server-toolkit" ~/.bash_history.tmp3 > ~/.bash_history.tmp4 2>/dev/null || true
|
||||||
else
|
grep -v "launcher.sh" ~/.bash_history.tmp4 > ~/.bash_history.tmp5 2>/dev/null || true
|
||||||
> ~/.bash_history
|
grep -v "erase-toolkit-traces" ~/.bash_history.tmp5 > ~/.bash_history 2>/dev/null || true
|
||||||
echo " ✓ Cleared entire history (had < 10 entries)"
|
|
||||||
fi
|
# Calculate lines removed before deleting temp files
|
||||||
|
lines_before=$(wc -l < ~/.bash_history.tmp 2>/dev/null || echo 0)
|
||||||
|
lines_after=$(wc -l < ~/.bash_history 2>/dev/null || echo 0)
|
||||||
|
lines_removed=$((lines_before - lines_after))
|
||||||
|
|
||||||
|
# Clean up temp files
|
||||||
|
rm -f ~/.bash_history.tmp*
|
||||||
|
|
||||||
|
echo " ✓ Removed $lines_removed toolkit-related history entries"
|
||||||
|
|
||||||
# Clear in-memory history completely
|
# Clear in-memory history completely
|
||||||
history -c
|
history -c
|
||||||
|
|||||||
Reference in New Issue
Block a user