Wie ändere ich den Konsolentitel in Bash?

Wie ändere ich den Konsolentitel in Bash?

Ich möchte, dass der Konsolentitel jedes Mal geändert wird, wenn ich eine Schleife ausführe, und zwar wie folgt:

while read line; do
  echo $line $i/$numline
  echo -ne "\033]0;$line $i/$numline\007"
  commands
  let i=i+1
done<text

Ich habe festgestellt, dass der echo -ne "\033]0;text\007"Befehl nicht funktioniert.

Antwort1

Sie müssen zuerst zu den Einstellungen gehen konsole:

Einstellungen -> Aktuelles Profil konfigurieren -> Registerkarten -> Registerkartentitelformat = %w

Die Konsole ignoriert standardmäßig, was verlangt wird, und macht ihr eigenes Ding, wie konfiguriert. %wtells wird durch das ersetzt, was die Shell will. Es gibt andere Codes, verwenden Sie die Schaltfläche Einfügen, sie kennt alle Codes.


Eine kurze Anmerkung dazu, wie die Shell die Aufgaben des Terminalemulators übernimmt.

Ich habe dies hier, ~/.bashrces aktualisiert den Titel. Möglicherweise müssen Sie die Bash-Variable genauer untersuchen PS1oder sich die Variable ansehen PROMPT_COMMAND.

case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

verwandte Informationen