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.