diretório atual mostrado somente no topo do terminal, como mostro dentro?

0

Eu não sei o que eu fiz, mas de alguma forma eu fiz isso de modo que quando eu mudo de diretórios aparece no topo do Terminal. Aqui está uma captura de tela do que estou falando:

Estou feliz que ainda esteja funcionando, provavelmente um problema de configuração de alguma forma. Como você muda isto de forma que quando você muda os diretórios a informação é achada dentro do terminal, não em cima?

    
por BJsgoodlife 13.08.2016 / 03:11

1 resposta

3

Suponho que você deseja que o diretório de trabalho atual seja exibido em seu prompt.

De acordo com sua captura de tela, seu prompt está mostrando apenas o nome da sua máquina. A saída que você deu para echo $PS1 nem sequer me dá isso ... Eu não posso replicar seu prompt sem um pouco de ajustes: talvez você tenha: \[\e]0;\u@\h: \w\a\]\H\$ ou ... você está usando uma casca diferente talvez ??

Aqui está o código para um prompt realmente simples que mostra o nome de usuário, o nome do computador e o diretório de trabalho atual (insira isso em um terminal para testar):

PS1="\u@\h:\w$ "

Mas provavelmente você quer o diretório de trabalho em seu prompt E no título da janela ... o prompt normal no Ubuntu é este:

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

, que é definido em ~/.bashrc por:

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
        # We have color support; assume it's compliant with Ecma-48
        # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
        # a case would tend to support setf rather than setaf.)
        color_prompt=yes
    else
        color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

Então, talvez você coloque algo em seu .bashrc para substituir isso. Dê uma olhada no final para linhas como

export PS1="some code here"

ou

PS1="some code here"
export PS1

Para ver se ele foi substituído, e comente as linhas se elas estiverem lá (coloque # no início da linha) ou apenas remova-as.

Você também pode verificar se a seção que colei acima (linha 38-73 no meu .bashrc ) existe e não foi alterada, se você quer apenas restaurar o prompt normal.

Para obter um .bashrc

completamente limpo
mv ~/.bashrc{,.bak} && cp /etc/skel/.bashrc ~/.bashrc

Se você quiser personalizar o seu prompt, continue jogando até conseguir o que deseja ... este site é útil para referência.

Quando você tem o que deseja adicionar ao .bashrc

export PS1="your code here "

Veja também um dos meus favoritos AU perguntas

    
por Zanna 13.08.2016 / 17:32