Я создал нового пользователя, выполнив
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
Если вы хотите создать пользователя с оболочкой bash по умолчанию, используйте эту команду:
useradd -m -s /bin/bash <userName>
Замените <userName> на имя пользователя, которого вы хотите создать.