Ausführen
env - HOME="$HOME" /bin/bash --login -xv 2>&1 | tee foo
um bash im ausführlichen Modus zu starten. Dies druckt jede Zeile der Initialisierungsdatei, während sie gelesen wird, und jede Zeile der Initialisierungsdatei, während sie ausgeführt wird, und kopiert die Ausgabe in eine Datei namens foo
. Dann können Sie in foo
nachsehen um zu sehen, was declare -x
verursacht angerufen werden.
Herausgefunden, dass viele declare ...
Anweisungen ist das Ergebnis von export
irgendwo ohne Argument ausgeführt wird.
Ich habe einen versehentlichen Zeilenumbruch in meinem .bashrc
gefunden :
export
VARIABLE=value
Was hätte sein sollen
export VARIABLE=value
Ja, es ist wahrscheinlich, dass es von Ihrer .bashrc kommt, weil Sie es bearbeitet haben. Möglicherweise haben Sie einen Syntaxfehler in das Skript eingefügt, der dazu führen kann, dass dieser ausgegeben wird.
Sie können sicherstellen, dass diese Zeilen in Ihrer .bashrc-Datei vorhanden sind, indem Sie Folgendes eingeben:
grep declare ~/.bashrc
Sie sollten mindestens diese 4 Zeilen auf der Konsole ausgedruckt sehen. Sie können auch versuchen, Ihr .bashrc-Skript von der Eingabeaufforderung aus auszuführen und zu sehen, ob Fehler ausgegeben werden:
bash ~/.bashrc