PS1 kann unter OS X nicht zugewiesen werden

7

Ich versuche einzurichten, PS1damit der Filialname auf git angezeigt wird:

user.name:some/repo (master) $

Nichts, was ich tue, scheint jedoch zu funktionieren. Selbst wenn ich nur versuche, PS1direkt zuzuweisen , funktioniert es nicht:

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

Mache ich etwas falsch? Habe ich keine Berechtigung, diese Variable zu setzen? Habe ich einen Syntaxfehler?

Ich verwende Mac OS X 10.8.

Ich habe auch versucht:

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

Als Referenz:

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

Anscheinend PS1ist readonly. Interessant.

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

Wie mache ich es nicht readonly?

Nick Heiner
quelle
Sie befinden sich in einer eingeschränkten Shell, in der Sie keine Änderungen vornehmen dürfen? Oder ist der Wert schreibgeschützt?
ott--
Bist du sicher, dass du BASH ausführst? Was ist die Ausgabe von $SHELL --version?
Terdon
1
Probieren Sie readonlyin der Shell aus, ob PS1 schreibgeschützt ist.
ott--
2
Geben Sie nur readonlyfür sich ein, um schreibgeschützte Variablen aufzulisten. Wenn readonly PS1Sie etwas eingeben , ist es schreibgeschützt. Dies ist das Gegenteil von dem, was Sie möchten.
mavit
Wie kann ich es deaktivieren?
Nick Heiner

Antworten:

2

Ich würde überprüfen Sie RC-Dateien, um sicherzustellen, dass PS1 nicht readonly in ihnen definiert wird.

Versuche Folgendes:

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 

Versuchen

grep -E 'PS1=' ~/.bashrc <other rc files>
Peteches
quelle
2

Hast du es versucht

export PS1='oh yeah'

Quelle

LuckySpoon
quelle
Yep - OP aktualisiert
Nick Heiner
Sind Sie Administrator-Benutzer? Funktioniert bei mir.
LuckySpoon
0

Überraschenderweise sollte es funktionieren und es ist mit Sicherheit keine Erlaubnisfrage.

Haben Sie statt doppelte Anführungszeichen export PS1="oh yeah"probiert export PS1='oh yeah'?

jphuynh
quelle