Bash gibt für jeden Befehl eine seltsame Umgebungszeile aus und gibt den Befehl wieder

Bash gibt für jeden Befehl eine seltsame Umgebungszeile aus und gibt den Befehl wieder

Auf einer Amazon Linux-Instanz wird für JEDEN in bash eingegebenen Befehl Folgendes ausgegeben:

printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"

Es spielt keine Rolle, welcher Befehl eingegeben wird. Zum Beispiel

$ date
date
Mon Oct 14 17:15:31 UTC 2019
printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"

Und

$ ls -all
ls -all
total 1776
drwx------ 5 ec2-user ec2-user    4096 Oct 14 17:10 .
drwxr-xr-x 3 root     root        4096 Sep  2 14:18 ..
-rw------- 1 ec2-user ec2-user    5853 Oct 11 21:43 .bash_history
-rw-r--r-- 1 ec2-user ec2-user      18 Aug 30  2017 .bash_logout
-rw-r--r-- 1 ec2-user ec2-user     193 Aug 30  2017 .bash_profile
-rw-r--r-- 1 ec2-user ec2-user     124 Aug 30  2017 .bashrc
drwx------ 3 ec2-user ec2-user    4096 Oct 14 15:22 .cache
drwx------ 4 ec2-user ec2-user    4096 Oct 14 15:22 .local
drwx------ 2 ec2-user ec2-user    4096 Sep  2 14:18 .ssh
printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"

und es gibt auch die Befehle wieder.

Was passiert hier und wie kann ich dieses Verhalten stoppen?

Antwort1

Ich gehe davon aus, dass die Variable PROMPT_COMMANDin einer der Dateien, die Bash beim Start verarbeitet, falsch gesetzt ist. Mögliche Ursachen könnten dort zu finden sein:

  • /etc/Profil
  • /etc/bash.bashrc
  • ~/.bash_profile
  • ~/.bashrc

Ein schneller Workaround / Test:

unset PROMPT_COMMAND

verwandte Informationen