ich starte mit User1 eine Konsole und setze ein Kommando ab.
Nun starte ich mit User1 eine weitere Konsole und setze ein weiteres Kommando ab.
Wie kann ich es erreichen, das alle Kommandos eines Users konsolenübergreifend in die history geschrieben werden?
Momentan ist es so, dass, wenn ich das System mit den beiden offenen Sessions herunterfahre, nur ein Kommando in der history stehen wird und nicht zwei.
Ich kenne nicht die Lösung, aber möchte darauf hinweisen das die History eine Function der Shell ist, nicht der Konsole.
Also zwei Tabs in einer Konsole wird meiner Meinung nach nichts bringen.
man bash
hat viel über HISTORY zu sagen.
Wenn ich richtig verstehe has jedes bash Process sein HISTORY im Speicher. Also gibt es keine verbindung zwischen verschiedene gleichzeitig lafende bash (auch nicht vom selben Benützer).
Wenn ein bash Prozess endet wird die HISTORY in ~/.bash_history gespeichert. Da ist natiürlich nur da was den letzt endeten bash gespeichert hat.
Jede Bash Shell ist ein eigener Prozess, der keine Verbindung zu den parallelen Shellprozessen hat.
Beim Starten eines Shellprozesses wird der Inhalt der .bash_history in den Speicher geladen. Kommandos, die jetzt in dem Shellprozess ausgeführt werden, werden im Speicher an die History angehängt. Beim Schliessen des Shellprozesses wird der Speicherinhalt der History wieder nach .bash_history zurückgeschrieben. Waren mehrere Prozesse gleichzeitig aktiv, überschreibt dabei der zuletzt geschlossene Prozess die .bash_history