Замените $ в приглашении терминала на user @ host при использовании SSH [дубликат]

На этот вопрос уже есть ответ здесь:

Я использую Ubuntu Server поверх SSH, и я вижу $ вместо имени пользователя (например, test @ desktop ).

Как сделать так, чтобы терминал отображал test @ desktop вместо $ ?

2
задан 19 August 2016 в 21:20

3 ответа

Необходимо определить переменную PS1 в клиентской системе и удостовериться, что определение получено когда Вы ssh.

возможно, что это уже определяется в .bashrc в удаленной системе и таким образом, просто необходимо получить .bashrc путем запуска интерактивной оболочки (замена remote-sys с именем удаленной системы, очевидно)

ssh remote-sys -t bash -i
<час>

, Если это не работает, потому что .bashrc не существует в удаленной системе или не имеет PS1 определенным, и Вы хотите использовать те же настройки в удаленной системе как Ваша локальная система, затем скопировать по Вашему собственному .bashrc:

scp ~/.bashrc remote-sys:.bashrc

Или можно сделать файл просто для установки подсказки путем, Вы хотите ее в удаленной системе..., например

nano .set-prompt

, вводят текст (это устанавливает user@host как подсказку)

export PS1="\u@\h "

или если Вы хотите, чтобы она была похожа на подсказку Ubuntu user@host:working-directory$

export PS1="\u@h:\w$ "

, или настроить однако Вас любят. Сохраните файл и выход, затем scp это к удаленной системе

scp .set-prompt remote-sys:.set-prompt

, Когда Вы ssh к машине необходимо будет получить файл явно и сказать удару делать оболочку интерактивной:

ssh remote-sys -t "bash --rcfile ~/.set-prompt -i"

, Если Вы делаете sudo -i для изменения на корень в удаленной системе, подсказка изменится снова, поскольку корень .bashrc будет получен.

2
ответ дан 2 December 2019 в 01:43

Если Вы - SSH-луг в sh сессия, которая я думаю, имеет место, судя тем, что Вы в настоящее время имеете, можно добавить переменные и команды к PS1:

PS1='$USER@$(hostname)\$ '

, Если бы Вы - SSH-луг в bash сессия, Вы имеете бесконечные опции , но я рекомендовал бы использовать значение по умолчанию, если Вы просто входите в это. Для установки PS1 только на текущей сессии выполните это:

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

Для внесения изменения постоянным откройте ~/.bashrc на удаленной машине и добавьте вышеупомянутую строку к нему.

Видят , Где я могу найти полную ссылку для переменной $PS1? для понимания то, что делает вышеупомянутая строка.

P.S. Я не использую SSH очень сам, таким образом, Вам, вероятно, придется изменить некоторые другие настройки, чтобы заставить этот материал работать.

2
ответ дан 2 December 2019 в 01:43

PS1="/u@/h" даст Вам, что Вы просите то, хотя я не рекомендую сделать это, поскольку это будет мешать устанавливать, находитесь ли Вы в режиме суперпользователя или стандарте.

Для возврата его к значению по умолчанию для 16,04 (и ранее?) использование PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$"

можно делать изменения постоянными путем редактирования/etc/bash.bashrc и добавления изменений с любимым редактором

Источники: эта страница и тестирование.

2
ответ дан 2 December 2019 в 01:43

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

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