Não é possível atribuir ao PS1 no OS X bash

7

Estou tentando configurar PS1 para exibir o nome da ramificação no git:

user.name:some/repo (master) $

No entanto, nada que eu faça parece funcionar. Mesmo quando eu tento atribuir a PS1 diretamente, isso não funciona:

user.name:~ $ echo $PS1
\u:\w $
user.name:~ $ PS1='oh yeah'
user.name:~ $ echo $PS1
\u:\w $

Estou fazendo algo errado? Eu não tenho permissões para definir este var? Eu tenho um erro de sintaxe?

Estou no Mac OS X 10.8.

Eu também tentei:

user.name:~ $ echo $PS1
\u:\w $
user.name:~ $ export PS1='oh yeah'
user.name:~ $ echo $PS1
\u:\w $

Para referência:

user.name:~ $ $SHELL --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin12)
Copyright (C) 2007 Free Software Foundation, Inc.

Aparentemente, PS1 é somente leitura. Interessante.

user.name:~ $ readonly PS1
-bash: PS1: readonly variable

Como faço para que não seja somente leitura?

    
por Nick Heiner 14.01.2013 / 21:24

3 respostas

2

Eu verificaria seus arquivos rc para garantir que o PS1 não esteja sendo definido apenas para leitura neles.

tente o seguinte:

user@server$ PS1='oh yeah :'
oh yeah :readonly PS1
oh yeah :PS1='different PS1 :'
bash: PS1: readonly variable
oh yeah :bash
user@server$ PS1='something else '
something else 

tente

grep -E 'PS1=' ~/.bashrc <other rc files>
    
por 21.01.2013 / 16:37
2

Você já tentou

export PS1='oh yeah'

Fonte

    
por 17.01.2013 / 00:43
0

Surpreendente, deve funcionar e com certeza não é um problema de permissão.

Você tentou as aspas duplas export PS1="oh yeah" em vez de export PS1='oh yeah' ?

    
por 17.01.2013 / 17:28