Mac Terminal mostrando o bash em vez do meu nome de usuário

1

Isso dificulta saber em qual diretório eu estou. Instalei uma versão do python para a escola e agora ele diz -bash-3.2$ em vez de MyMacbook: ~$ . Tenho certeza que isso é muito simples, mas eu não sei nada sobre o terminal / bash / shell. Ainda posso cd ~/Desktop , mas diz apenas -bash-3.2$ em vez de MyMacbook: ~Desktop $ .

    
por evan 05.02.2014 / 03:09

2 respostas

1

Outros tiveram muitas chances de mencionar o elefante na sala, então aqui está:

Seu prompt no Bourne Again Shell é controlado pelos valores das variáveis PS1 , PS2 , PS3 e PS4 . O relevante aqui é a variável PS1 . Ele não foi definido, portanto, o Bourne Again Shell está exibindo seu prompt padrão, que é a expansão da string de prompt \s-\v\$  .

O prompt que você quer pode ser alcançado definindo a variável assim:

PS1='\h: \w\$'

Existem pelo menos duas maneiras pelas quais você pode ter se encontrado nessa situação. O primeiro, que 72DFBF5B A0DF5BE9 implica, é que você de repente começou a usar o Bourne Again Shell onde você estava usando o Tenex C Shell antes. O Tenex C Shell usa diferentes variáveis ( prompt , prompt2, e prompt3 ) para controlar o que é exibido como o prompt e tem diferentes arquivos rc.

O prompt que você deseja é obtido no Shell Tenex C, definindo a variável assim:

set prompt='%m: %~%$'

Ele foi configurado no script ~/.tcshrc (ou /etc/csh.cshrc ou ~/.login or…). Invocar o Bourne Again Shell não terá escolhido isso, é claro. A resposta é, portanto, voltar ao shell que você estava usando antes.

Outra maneira, que heiglandreas declara, é que você estava realmente usando o Bourne Again Shell e tinha configurado com uma variável PS1 no ~/.bashrc (ou /etc/profile ou ~/.profile ou… ) roteiro. Então algo embaralhou, ou simplesmente renomeou / apagou, aquele script. A resposta neste caso é desembaralhar o script para que ele defina PS1 em shells interativos mais uma vez.

Uma terceira possibilidade é que sua variável PS1 esteja sendo definida em ~/.profile em vez de ~/.bashrc , que não esteja sendo export ed e que você tenha invocado um shell secundário a partir do seu login Concha. Nesse caso, a resposta seria sair do shell secundário ou garantir que o prompt do shell esteja configurado no arquivo rc que é executado para shells de login e não-login, em vez de no arquivo rc que é executado apenas para shells de login .

Para completar, mencionarei outro shell comumente usado no Mac OS 10: o Z Shell. Ele usa as mesmas variáveis que o Bourne Again Shell e suporta as muitas sequências de escape por cento do Shell Tenex C.

O prompt que você quer é obtido no Z Shell, definindo a variável assim:

PS1='%m: %~%#'

Isso seria definido no script ~/.zshrc (ou ~/.zprofile or /etc/zprofile or /etc/zshrc or…).

Eu menciono isso para enfatizar o fato de que há vários shells no Mac OS 10 que podem ser usados, que todos eles têm conjuntos separados de arquivos rc, que suas variáveis de prompt não são as mesmas e que essas variáveis de prompt podem ser definido em um dos vários arquivos rc em cada shell. Então você terá que ler os manuais do shell e descobrir qual arquivo rc foi danificado, ou para qual shell você estava usando antes e voltar, ou se simplesmente invocou um subshell e não definiu sua variável prompt em um maneira que subshells ver.

Leitura adicional

  • "Variáveis Bourne Shell" . Manual de Referência do Bash . Fundação de Software Livre.
  • "Controlando o prompt" . Manual de Referência do Bash . Fundação de Software Livre.
  • bash (1) . Páginas de manual do Mac OS 10. Corporação da Apple.
  • tcsh (1) . Páginas de manual do Mac OS 10. Corporação da Apple.
  • zshparam (1) . Páginas de manual do Mac OS 10. Corporação da Apple.
  • zshmisc (1) . Páginas de manual do Mac OS 10. Corporação da Apple.
por 02.03.2014 / 13:32
0

O shell padrão (ou interface de linha de comando) usado no Mac OS X 10.0 até 10.2.8 é tcsh .

  • Abra as Preferências no menu Terminal, clique na guia "Inicialização"

  • Em "Shells open with" escolha "Command (complete path)" e defina o novo shell

Em seguida, escreva "chsh -s /bin/tcsh "na caixa

Ou abra o aplicativo Terminal e, em seguida:

  • Escolha Preferências no menu Terminal.
  • Selecione a opção "Executar este comando (especificar o caminho completo):", em seguida, escreva /bin/tcsh
por 05.02.2014 / 03:36