Inizia ad isolare la fonte del problema rimuovendo eventuali personalizzazioni della cronologia di Bash. Ad esempio, qualsiasi codice che imposta le variabili di shell che iniziano con HIST o utilizza set -o per impostare le opzioni di history o histexpand .
Il codice della cronologia dei comandi per sessione in /etc/bashrc_Apple_Terminal tenta di mantenere la compatibilità con le variabili di cronologia di Bash e tenta di rilevare quando l'utente sta probabilmente facendo qualcosa che non può essere compatibile e disabilita il meccanismo in quel caso (perché l'utente sta facendo qualcosa di arbitrario, come caricare, salvare o modificare la cronologia). Tuttavia, se hai script che eseguono il comando history , quel codice non ha modo di sapere in anticipo; dovrai aggiornare il tuo codice per mantenere la compatibilità con la nuova cronologia dei comandi per sessione, oppure disabilitare la cronologia delle sessioni impostando SHELL_SESSION_HISTORY=0 come descritto nella documentazione in /etc/bashrc_Apple_Terminal .
Se non stai personalizzando HISTFILE , HISTTIMEFORMAT o l'opzione histappend shell, un'altra cosa da verificare è se gli script di avvio della shell modificano o la variabile PROMPT_COMMAND o la trappola EXIT senza concatenando il valore precedente per evitare di cancellarlo.
Vedi i commenti in /etc/bashrc_Apple_Terminal per una descrizione di come funziona il meccanismo e come personalizzarlo o disabilitarlo.