Как изменить подсказку пользователя, так, чтобы она показала текущий каталог?

Я создал пользователя'user11'в Linux и измененный его корневой каталог с помощью -d опция, но когда я вхожу в систему с этим пользователем, это показывает'-bash-4.3$'.

user mod -d screen shot

Я хочу знать:

  1. Каково значение'-bash-4.3'и почему это происходит?
  2. Почему user11 печатает его рабочий каталог'/rootuser12 печать'/phome/user12'?
  3. Как я могу изменить '-bash-4.3', он - обычное значение (как user11 или user12)?
0
задан 10 September 2016 в 17:05

3 ответа

Concering Ваши вопросы...

  1. , Каково значение '-bash-4.3' и почему это происходит?

Это - используемая оболочка и ее версия.

  1. , почему user11 печатает, он работает, каталог, '/root' и user12, печатает '/phome/user12'?

, поскольку user11 не имеет корневого каталога (/phome/user11) в файловой системе.

  1. , как я могу изменить '-bash-4.3', он - обычное значение (как user11 или user12)?

Создают корневой каталог /phome/user11, как указано от getent.

то, Что Вы сделали, - то, что Вы только изменили информацию, где найти пользователя homedirectory, но Вы не создали тот.

Создание нового корневого каталога для user11

cp -a /etc/skel /phome/user11
chown -R user11:1009 /phome/user11

Лучший должно было бы использовать useradd ... -m для создания пользователя homedirectory автоматически.

0
ответ дан 28 September 2019 в 14:36

Обращение к каждой из точек в свою очередь:

  1. -bash-4.3 подсказка по умолчанию для Вас, окружают, который является ударом. Это показывает оболочку и ее версию.. Подсказка установлена переменной среды PS1. Посмотрите настройку Bash/подсказки.

  2. user11 имеет другое значение $PS1 к user12. Можно проверить это путем ввода echo $PS1 для каждого пользователя.

  3. В ~/.bashrc, для user12 добавьте строку:

    export PS1="${PWD}> "
    

Где установить PS1

Значение этой переменной среды может быть установлено во множестве мест. Наиболее распространенные места /etc/profile, /etc/bashrc, ~/.bash_profile, и ~/.bashrc.

От установки PS? Строки постоянно

Johan Kullstam (johan19@idt.net) записи:

PS1 строка должна быть установлена в .bashrc. это вызвано тем, что неинтерактивные удары стараются изо всех сил сбрасывать PS1. страница справочника удара говорит как присутствие или отсутствие PS1 хороший способ знать, является ли каждый в интерактивном по сравнению с неинтерактивным (т.е. сценарий) сессией удара.

Путем я понял, что это - это startx сценарий удара. то, что это означает, startx вытрет Вашу подсказку. когда Вы устанавливаете PS1 в .profile (или .bash_profile), войдите в систему в консоли, разожгите X через startx, Ваш PS1 уничтожается в процессе, оставляя Вас с подсказкой по умолчанию.

Одно обходное решение должно запуститься xterms и rxvts с -ls опция вынудить их читать .profile, но любое время оболочка называют через неинтерактивного посредника сценария оболочки PS1 потерян. system(3) использование sh -c который, если sh bash. уничтожит PS1. Лучший путь состоит в том, чтобы поместить PS1 определение в .bashrc. Это читается каждый раз, когда удар запускается и где интерактивные вещи - например. PS1 должен пойти.

Поэтому это должно быть подчеркнуто это PS1=..blah.. должен быть в .bashrc и нет .profile.

Подсказка удара является обширным предметом, и слишком широко обсуждать полностью здесь. Для дальнейшего удовлетворения требованиям заказчика подсказки удара см. ПРАКТИЧЕСКОЕ РУКОВОДСТВО Подсказки Bash.

0
ответ дан 28 September 2019 в 14:36

Вы отметили свой вопрос adduser но Вы, кажется, на самом деле используете useradd: AFAIK useradd (в отличие от этого, adduser) не копирует скелетные файлы с /etc/skel каталог - в частности, это не создает значение по умолчанию ~/.bashrc для нового пользователя.

Отвечать на Ваши вопросы детально:

  1. это - приглашение оболочки удара по умолчанию, используемое в отсутствие более специализированного, которое обычно обеспечивается пользователем ~/.bashrc файл

  2. потому что Вы не создали корневой каталог для user11 (и ни один useradd ни usermod -d сделайте это для Вас),

  3. любая копия значение по умолчанию .profile и .bashrc файлы от /etc/skel в корневые каталоги пользователей, или удаляют пользователя (пользователей) и запускаются по использованию adduser вместо этого

Посмотрите то, Что различие между adduser и useradd?

3
ответ дан 28 September 2019 в 14:36

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

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