Ich versuche, meine Geschichte in Bash zu vergrößern. Ich habe folgendes in meinem ~ / .bash_profile
# Control the command history
Aber wenn ich
export HISTFILESIZE=10000
export HISTSIZE=10000
export HISTCONTROL=ignoredups:erasedups
echo $HISTSIZE
komme, bekomme ich immer 50
. Vermisse ich etwas? Gibt es einen Befehl, den mein Sys-Administrator in eine höhere Konfigurationsdatei geschrieben hat, der verhindern könnte, dass HISTSIZE geändert wird?
echo $HISTSIZE
unmittelbar danach bistexport
? Erhalten Sie in diesem Fall immer noch 50?echo
in dein platzierst.bash_profile
? Ich versuche im Grunde festzustellen, ob Sie.bash_profile
es überhaupt nicht einstellen oder ob es später überschrieben wird.Antworten:
Viele Distributionen scheinen irgendwo darin
.bash_profile
Scheck zu haben.bashrc
. Könnten Sie.bashrc
irgendwann später einen Sourcing-WertHISTSIZE
von 50 festlegen ?quelle
.bash_profile
(oder ein Nachkomme) andere Dateien?/etc/profile
könnte auch ein Schuldiger sein.Was ist Ihr Betriebssystem und Ihre BASH-Version? Versuchen
Ich benutze
4.2.20(2)-release
über Mac OS X Lion / Homebrew ... Hier ist meine KonfigVersuchen Sie, Ihre Bash zu aktualisieren. Vielleicht überschreibt auch
~/.bashrc
oder/etc/bashrc
oder/etc/profile
Ihre lokalen Einstellungen ...quelle
Setzen Sie die Variablen ein
/etc/environment
.quelle
HISTSIZE=5000
oderHISTFILESIZE=5000
in/etc/environment
tut nichts für mich. Ich bin in Arch Linux.cat ~/.bash_history | wc -l
es ein klares 2000 gibt, das die Standardeinstellung ist - und ich ungefähr doppelt so viel gesetzt habe. In derbash
manuellen Version heißt es: "Die Shell setzt den Standardwert auf den Wert von HISTSIZE, nachdem alle Startdateien gelesen wurden." Möglicherweise wird eine.bash_history
bereits vorhandene Datei NICHT erweitert . Es bleibt bei der Standardeinstellung von 2000 Zeilen. Bevor Sie vertrauenbash
, sollten Sie die obige Zeile ausführen, um zu wissen, dass sie nicht versucht, Sie zu täuschen.Sie werden
~/.bash_profile
möglicherweise nicht ausgeführt, oder es gibt später ein Skript, das den Wert überschreibt. Sie können einigeecho bash_profile
zu überprüfende Anweisungen hinzufügen .In der Regel sind diese Bash-Variablen in definiert
.bashrc
, sodass Sie versuchen können, sie dorthin zu verschieben.Auch nicht
export
mit denHIST*
Variablen verwenden. Sie sind keine Umgebungsvariablen, sondern bash-Variablen. Sie zu exportieren ist sinnlos. Das ist der Grund, warum/etc/environment
es nichts bringt, sie einzusetzen.quelle