Etrafımda çeşitli görevlerden kendi çözümümle çalıştım. Bu kullanıcı, ana bilgisayar adı, pwd, tty ve şu anda yürütülen komutu (bash için) içeren bir başlık oluşturur.
Bu şuna benziyor (yürütülmekte olan hiçbir komut yok):
.:[user@hostname:/home/user][pts/10]:.
Ve bunun gibi (bir komutu yürütmek):
.:[user@hostname:/home/user][pts/10] {tail -F /var/log/syslog}:.
.Bashrc'da bir yerde, PS1'i genişlettim:
# set the terminals title. This is the "post-command" part,
# need to use a trap for pre-command (to add the command line to the title)
PS1+="\[\033]2;.:[\u@\h:\$PWD] [$(tty | cut -b 6-)]:.\007\]"
History 1 ve trap komutunu kullanarak geçerli komutu ekler :
# set a fancy title (this is pre-command, in PS1 is after-command (to reset command)
trap 'echo -ne "\033]2;.:[${USER}@${HOSTNAME}:${PWD}] [$(tty | cut -b 6-)] {$(history 1 | sed "s/^[ ]*[0-9]*[ ]*//g")}:.\007"' DEBUG
İhtiyaçlarınızı kabul etmekte özgürsünüz.
.bashrc
benim kabuğumdaki her komuttan sonra eklerken bu çıktıyı alıyorum0;%s@%s:%s" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}
. Ben hiç tuzak komutu atayarak bu çıktıyı bastırmak olabileceğini varsayıyoruzPS1
? Ancak,PS1=trap 'echo -ne "\033]0;$BASH_COMMAND\007"' DEBUG
çalışmıyor. Hataya yol açarbash: echo -ne "\033]0;$BASH_COMMAND\007": command not found
.