Не удается назначить PS1 на OS X Bash


7

Я пытаюсь настроить PS1 поэтому он отображает название ветки в git:

user.name:some/repo (master) $

Тем не менее, ничего, что я делаю, похоже, не работает. Даже когда я просто пытаюсь назначить PS1 напрямую, это не работает:

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

Я делаю что-то неправильно? У меня нет прав для установки этой переменной? У меня есть синтаксическая ошибка?

Я на Mac OS X 10.8.

Я также попробовал:

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

Для справки:

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

По-видимому PS1 только для чтения Интересно.

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

Как мне сделать это не только для чтения?


Вы находитесь в закрытой оболочке, где вам не разрешено ее менять? Или значение установлено только для чтения?
ott--

Вы уверены, что используете BASH (я согласен, это выглядит так, но мы здесь в сумеречной зоне)? Каков выход $SHELL --version?
terdon

1
Пытаться readonly в оболочке, чтобы увидеть, если PS1 только для чтения.
ott--

2
Типа просто readonly сам по себе, чтобы перечислить переменные только для чтения. Typing readonly PS1 установит его только для чтения, что противоположно тому, что вы хотите.
mavit

Как мне это сбросить?
Nick Heiner

Ответы:


2

Я бы проверил ваши rc-файлы, чтобы убедиться, что PS1 не определяется в них только для чтения

попробуйте следующее:

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 

пытаться

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


0

Удивительно, но это должно работать, и это точно не проблема разрешения.

Вы пробовали двойные кавычки export PS1="oh yeah" вместо export PS1='oh yeah' ?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.