BASH_VERSION не установлен и .bashrc не найден в интерактивной оболочке

Я создал нового пользователя, выполнив

sudo useradd -m harry

Когда я пытаюсь подставить пользователя «su-harry», тогда все, что я вижу, это «$», (доллар), автозаполнение не работает, а встроенные оболочки (например, источник) недоступны.

Я проверил .bashrc и .profile и обнаружил, что .bashrc не получает источники, потому что $ BASH_VERSION не установлен.

Код внутри .profile выглядит следующим образом:

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

Команда echo $BASH_VERSION ничего не возвращает.

$ echo $BASH_VERSION

$ 

Встроенные оболочки ( источник .bashrc, .bashrc) тоже не работают.

Значение переменной SHELL было «/ bin / sh», которое является псевдонимом тире. Я изменил его на / bin / bash (экспорт SHELL = / bin / bash), но он не имел никаких эффектов.

Когда я жестко задаю «.bashrc» в .profile (конечно, просто проверьте, будет ли это работать) Я получаю несколько ошибок:

admin@host:~$ sudo su - harry
-su: 13: /home/harry/.bashrc: shopt: not found
-su: 21: /home/harry/.bashrc: shopt: not found
-su: 105: /home/harry/.bashrc: shopt: not found
-su: 28: /etc/bash_completion: [[: not found
-su: 34: /etc/bash_completion: [[: not found
-su: 51: /etc/bash_completion: Bad substitution
\[\e]0;\u@\h: \w\a\]\u@\h:\w$ 

Любые идеи, как это исправить?

Спасибо заранее. jepetko

1
задан 9 December 2013 в 01:34

1 ответ

Если вы хотите создать пользователя с оболочкой bash по умолчанию, используйте эту команду:

useradd -m -s /bin/bash <userName>

Замените <userName> на имя пользователя, которого вы хотите создать.

0
ответ дан 24 May 2018 в 14:21
  • 1
    Привет Луис, я фактически изменил переменную SHELL в / bin / bash. хорошо, давайте создадим нового пользователя ... Он работает! – KGolbang 13 December 2013 в 02:28

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

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