Не удается назначить 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.