приглашение bash изменится на обычный & ldquo; # & rdquo;

Пока я не вошел в систему сегодня, как обычно, моей подсказкой bash было стандартное «username @ currpath #». Но сегодня для меня это просто "#". Если я вхожу в систему как root, это нормально. bashrc выглядит нормально (по сравнению с другими машинами "." echo $ PS1 "дает мне просто" # ". Что случилось, и как я могу это исправить?

Я также отметил, что" ifconfig "пропал . Он работает для root, но мой $ PATH выглядит нормально.

ДРУГАЯ вещь (добавлено через несколько часов после публикации): стрелки вверх и вниз использовались для прокрутки истории команд. Теперь они дают вывод, подобный этому "^ [ [A ^ [[B »(вверх-вниз-вниз), но моя локаль и клавиатура настроены правильно. Я не уверен, связано ли это с проблемой подсказки, но она изменилась одновременно.

0
задан 24 July 2014 в 13:29

6 ответов

Я предполагаю, что существует проблема с .bashrc файлом Вашего пользователя.

Попытка, копирующая значение по умолчанию .bashrc файл в Ваш корневой каталог:

cp /etc/skel/.bashrc ~/.bashrc

После копирования файла, перезапустите свой компьютер.

1
ответ дан 24 July 2014 в 13:29

Возможно, Вы изменили свою пользовательскую оболочку от/bin/bash до чего-то еще. В то время как зарегистрированный в соответствии с Вашей нормальной учетной записью, выполненной

chsh

И выбор /bin/bash, когда запрошено.

0
ответ дан 24 July 2014 в 13:29

Кажется, Вы, испортили с PS1.

http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x157.html

1
ответ дан 24 July 2014 в 13:29

Хотя я не могу сказать Вам, почему сделал это происходит (PS1, становящийся #), можно просто настроить с этими специальными символами:

  • \a: символ звонковой сигнализации ASCII (07)
  • \d: дата в "Буднем формате" Даты Месяца (например, "вторник 26 мая")
  • \D { формат } : формат передается strftime (3), и результат вставляется в строку приглашения; пустой формат приводит к определенному для локали представлению времени. Фигурные скобки требуются.
  • \e: символ ESC ASCII (033)
  • \h: имя узла до первого '.'
  • \H: имя узла
  • \j: количеством заданий в настоящее время управляет оболочка
  • \l: базовое имя shell’s названия оконечного устройства
  • \n: новая строка
  • \r: возврат каретки
  • \s: название оболочки, базовое имя 0$ (часть после заключительной наклонной черты)
  • \t: текущее время в 24-часовом формате
  • \T HH:MM:SS: текущее время в 12-часовом формате
  • HH:MM:SS \: текущее время в 12-часовом/пополудни формат
  • \A : текущее время в 24-часовом формате
  • \u HH:MM: имя пользователя текущего пользователя
  • \v: версия удара (например, 2.00)
  • \V: выпуск удара, версия + уровень установки патча (например, 2.00.0)
  • \w: текущий рабочий каталог, с $HOME, сокращенным с тильдой
  • \W: базовое имя текущего рабочего каталога, с $HOME, сокращенным с тильдой
  • \! : количество истории этой команды
  • \# : количество команды этой команды
  • \$ : если эффективный UID 0, #, иначе $
  • \nnn: символ, соответствующий восьмеричному числу nnn
  • \\: обратная косая черта
  • \[: начните последовательность непечатаемых символов, которые могли использоваться для встраивания терминальной управляющей последовательности в подсказку
  • \] : закончите последовательность непечатаемых символов

Источник

0
ответ дан 24 July 2014 в 13:29

Я введенный "/bin/bash" и - ВИОЛА - норма. Теперь - где является удар (или кто-либо) оболочкой, вызванной при пользовательском входе в систему? Я отредактировал "passwd" файл, который зафиксировал его. Я, должно быть, изменил пользователей в GUI, который удалил установку оболочки для нескольких пользователей.

Благодаря всем для указания на меня в правильном направлении!

0
ответ дан 24 July 2014 в 13:29

Последовательность выполнения для .bash_profile, .bashrc, .bash_login, .profile и .bash_logout следующим образом,

      execute /etc/profile
      IF ~/.bash_profile exists THEN
         execute ~/.bash_profile
      ELSE
        IF ~/.bash_login exist THEN
          execute ~/.bash_login
        ELSE
          IF ~/.profile exist THEN
          execute ~/.profile
          END IF
        END IF
      END IF

, Чтобы быть на более безопасной стороне, которую Вы присваиваете PS1 во всех этих файлах. Это должно, конечно, решить проблему.

Посещение http://www.thegeekstuff.com/2008/10/execution-sequence-for-bash_profile-bashrc-bash_login-profile-and-bash_logout/ для большей информации об этом

0
ответ дан 24 July 2014 в 13:29

Другие вопросы по тегам:

Похожие вопросы: