Ich bin jetzt schon eine ganze Weile verwirrt. In $PROMPT_COMMAND
der Bash in OS X gibt es einen Befehl namens update_terminal_cwd
. Ich bin mir sicher, dass es sich nicht um eine eingebaute Bash handelt und höchstwahrscheinlich nur in OS X existiert. Weiß das jemand?
21
xterm
Steuercode zum Festlegen des Titelleisten-Texts. Die am besten zugängliche Dokumentation ist vielleicht das Linux Bash Prompt Howto . Es gibt echte Dokumentation in denxterm
Quellen, IIRC./etc/bashrc_Apple_Terminal
(gefunden über einen hier erlernten Trick ). Aber ich finde, dass $ PROMPT_COMMAND in einer Bildschirmsitzung eine leere Zeichenfolge wird, was bedeutet, dass/etc/bashrc_Apple_Terminal
es wahrscheinlich nicht mehr ausgeführt wird. Weißt du, warum?/etc/bashrc
, verwendet es die Variable$TERM_PROGRAM
, um das Terminal zu bestimmen und ein entsprechendes auszuführen,/etc/bashrc_$TERM_PROGRAM
wenn es existiert. In der Bildschirmsitzung ist es also$TERM_PROGRAM
wahrscheinlich nicht festgelegt oder auf etwas anderes als festgelegtApple_Terminal
.Undurchsichtige, geheim codierte Formatzeichenfolge '\ e] 7;% s \ a'. Vermuten.
Soweit ich erfahre, ist "file: // $ HOSTNAME" ausgeblendet, sodass Sie das Remote-Protokoll "Host-Spionage" nicht sehen können.
quelle
update_terminal_cwd
ist keine Umgebungsvariable, sondern der Name einer Funktion. Es ist in Klartext definiert/etc/bashrc
und dieprintf
Funktion kann nur Zeichenfolgen im Druckformat auf dem Bildschirm anzeigen. Schließlich beinhaltet der von Ihnen gepostete Vuln-Link das Ausführen beliebiger Funktionen durch Anhängen von Text an eine Umgebungsvariablendefinition ... was nichts mit dem zu tun hat, was hier diskutiert wird. Und was haben Browser mit Shell-Skripten zu tun?typeset -f
, werden alle "benutzerdefinierten" Funktionen angezeigt und so tauchte dies auf. Wenn sie versuchten, etwas Skizziertes zu tun, würden sie dies nicht leicht sichtbar machen.