Zeichen werden im OS X-Terminal nur dann wiedergegeben, wenn ich die Löschtaste drücke

3

Wie der Titel besagt, kann ich beim Öffnen des Terminals zum Eingeben eines Befehls nicht sehen, was ich eingebe. Es ist, als ob das Terminal eingefroren wäre. Ich kann immer noch Befehle ausführen, wenn ich die Eingabetaste drücke. Ich kann einfach nicht sehen, was ich tippe.

Der seltsame Teil ist, dass ich beim Drücken der Entf-Taste plötzlich sehen kann, was ich tippe, und das Terminal normal funktioniert, bis ich den Befehl ausführe.

Wenn ich auf "Löschen" drücke, ändert sich die Kopfzeile oben im Terminalfenster von:

name - bash - 80x24

zu:

Name - 37m - Bash - 80x24

Jede Hilfe wäre sehr dankbar. Vielen Dank

edit: Danke für die Hilfe, ich habe einige der Vorschläge ausprobiert. Das Erstellen eines neuen Administratorkontos und das Öffnen eines Terminals schienen die Lösung zu sein. Ich kann dieses neue Konto im Terminal eingeben, ohne auf Löschen zu klicken. Irgendwelche Ideen für meinen Hauptaccount?

Folgendes erhalte ich beim Ausführen: / usr / bin / env

$ / usr / bin / env
TERM_PROGRAM = Apple_Terminal
SHELL = / bin / bash
TERM = xterm-256color
TMPDIR = / var / folders / h5 / rp872k9n0zq2lkl0kbbykjx00000gn / T /
Apple_PubSub_Socket_Render = / tmp / launch-KfwCn3 / Render
TERM_PROGRAM_VERSION = 326
TERM_SESSION_ID = F81718AA-A3FC-4FB9-9FF4-00037406DBAF
USER = derekbogdanoff
SSH_AUTH_SOCK = / tmp / launch-qQfC1a / Listeners
__CF_USER_TEXT_ENCODING = 0x1F5: 0: 0
PATH = / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin
__CHECKFIX1436934 = 1
PWD = / Users / derek bogdanoff
LANG = de_CA.UTF-8
PS1 = $ [\ 033] 0; 37 Mio.]
SHLVL = 1
HOME = / Benutzer / derek bogdanoff
LOGNAME = derekbogdanoff
_ = / usr / bin / env

user3749625
quelle
1
1) aktualisiere deinen Beitrag mit der Ausgabe des Befehls (direkt eingegeben) /usr/bin/env 2) Haben Sie ein ~ / .profile, ~ / .bashrc oder ~ / .bash_profile in Ihrem Ausgangsverzeichnis? 3) Bitte testen Sie dieses Verhalten in einem anderen Benutzerkonto und melden Sie sich zurück. Erstellen Sie ein neues Administratorkonto in den Systemeinstellungen & gt; Nutzer & amp; Gruppen und sehen, ob das gleiche Verhalten auftritt.
njboot

Antworten:

2

Ihre Aufforderung ist durcheinander, insbesondere PS1:

PS1=$[\033]0;37m]

Es fehlen viele Escape-Zeichen ( \e[ ) für die Farben benötigt (und die nützlichsten Parameter für eine PS1). Das ist auch der Grund, warum Sie das bekommen 37m im Titel des Terminalfensters. Versuchen Sie, es auf etwas anderes einzustellen, indem Sie Folgendes ausführen:

export PS1="\e[0;31m[\h:\W \u]\$\e[m "

und sehen, ob das funktioniert. Es sollte ein rotes (das ist \e[0;31m ) Eingabeaufforderung mit dem Hostnamen ( \h ), aktuelles Arbeitsverzeichnis ( \W ) und angemeldeter Benutzer ( \u ) in Klammern [] und der Bash-Exit-Status des vorherigen Befehls ( \$ ). Beachten Sie, dass am Ende die Farbe auf den Standard der Sitzung mit zurückgesetzt wird \e[m .

Wenn das oben geklappt hat, musst du nur herausfinden, aus welcher Konfigurationsdatei deine "schlechte" PS1 stammt: suche eine " export PS1= "line in ~/.profile, ~/.bash_profile, ~/.bashrc, (wie M K bereits angedeutet hat seine Antwort ) und geben Sie die obige Version ein.

Hier gibt es viele Antworten mit hilfreichen Farbcodes und Eingaben für die Konfiguration der PS1, wie z dieses zum Beispiel.

Asmus
quelle
1
Das hat funktioniert! Ich bin ein bisschen neu darin, also danke für deine Hilfe
user3749625
1

Schauen Sie sich zunächst die Terminal-Einstellungen an ( Cmd + , ) für die Schriftart-, Text- und Farbeinstellungen und ändern Sie diese entsprechend. Dies ist möglicherweise nicht das Problem, könnte jedoch die Fehlerbehebung erleichtern.

Möglicherweise haben Sie ein Profilskript, das die Farben ändert. Innerhalb Terminal.appGeben Sie zum Starten den folgenden Befehl ein bash auf einer leeren Tafel (ohne Ausführen von Profilskripten):

bash --noprofile --norc

Wenn Sie nicht mehr mit dem Problem der Textsichtbarkeit konfrontiert sind, überprüfen Sie alle Profilskripte (einige sind möglicherweise nicht vorhanden) wie /etc/profile, ~/.profile, ~/.bash_profile, ~/.bashrcSuchen Sie nach ANSI-Escape-Sequenzen und entfernen Sie diese.

M K
quelle