OS X bash'de PS1'e atanamıyor


7

Kuruluma çalışıyorum, PS1böylece dalın adını git üzerinde gösterecek:

user.name:some/repo (master) $

Ancak, yaptığım hiçbir şey çalışmıyor gibi görünüyor. Sadece PS1doğrudan atamayı denediğimde bile , işe yaramadı:

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

Yanlış bir şey mi yapıyorum? Bunu ayarlamak için iznim yok mu? Bir sözdizimi hatası mı var?

Mac OS X 10.8'deyim.

Ben de denedim:

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

Referans için:

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

Görünüşe göre PS1salt okunur. İlginç.

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

Bunu salt okunur değil nasıl yapabilirim?


Değiştirmenize izin verilmeyen sınırlı bir kabuğunuz var mı? Veya değer salt okunur?
ott--

BASH kullandığınızdan emin misiniz (Kabul ediyorum, öyle gözüküyor ama alacakaranlık kuşağındayız)? Çıktı nedir $SHELL --version?
terdon

1
readonlyKabuk içinde PS1'in salt okunur olup olmadığını görmek için deneyin .
ott

2
Salt readonlyokunur değişkenleri listelemek için yalnızca yazın. Yazma readonly PS1, salt okunur, bu da istediklerinizin tam tersi olur.
mavit

Bunu nasıl ayarlarım?
Nick Heiner,

Yanıtlar:


2

PS1'in kendi içinde salt tanımlanmadığından emin olmak için rc dosyalarını kontrol ederdim.

takip etmeyi dene:

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 

Deneyin

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


0

Şaşırtıcı, çalışması gerekir ve kesinlikle bir izin sorunu değil.

Eğer çift tırnak denediniz mi export PS1="oh yeah"yerine export PS1='oh yeah'?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.