
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. %w
tells 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, ~/.bashrc
es aktualisiert den Titel. Möglicherweise müssen Sie die Bash-Variable genauer untersuchen PS1
oder sich die Variable ansehen PROMPT_COMMAND
.
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac