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?


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>


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'?

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.