Telnet: как получить [user @ hostname userFolder] $

688
CodeIt

Я использую Ubuntu 14.04 LTS, и я успешно настроил сервер Telnet. При входе на сервер telnet я всегда получаю путь (в терминале) как

имя пользователя @ имя хоста: ~ / имя_папки $

Я действительно хочу знать, когда я получу такой путь,

[username @ hostname Folder_Name] $

1
Дублируйте довольно много вопросов "как мне настроить приглашение оболочки". grawity 9 лет назад 2
@ Grawity хорошо, он может спросить, какие настройки, если таковые имеются, по умолчанию, потому что он утверждает, что видел это. Он спросил, когда он получит XYZ. (хотя люди ответили на вопрос, как можно настроить его на XYZ) barlop 9 лет назад 0
Вы имеете в виду, что вы видели, что иногда он имеет квадратные скобки, а иногда нет? (и вы хотите знать, когда это будет, а когда нет?). barlop 9 лет назад 1
[Не] (https://catn.com/2010/03/23/why-do-we-use-ssh-over-telnet/) [использовать] (http://www.linuxcertified.com/e -learning / linuxplus / html / 4_11_1.html) [telnet] (http://www.spy-hill.net/myers/help/SecureShell.html); [использовать] (http://www.scrounge.org/linux/ssh.html) [ssh] (http://www.techrepublic.com/article/replace-telnet-with-ssh-to-shore-up- безопасные соединения /) [вместо] (http://gotoanswer.com/?q=Why+you+should+use+ssh+instead+of+telnet.). Blacklight Shining 9 лет назад 2
@BlightlightShining Я создаю один. CodeIt 9 лет назад 0
Вы делаете что? Blacklight Shining 9 лет назад 0
@BlightlightShining ssh сервер. CodeIt 9 лет назад 0

3 ответа на вопрос

3
Michael Hampton

Последнее приглашение, которое вы видели, является стандартным в системах на базе Red Hat, таких как Red Hat Enterprise Linux, CentOS и Fedora. Первый используется по умолчанию в системах на основе Debian, таких как сам Debian и Ubuntu.

Приглашение Red Hat PS1 по умолчанию:

export PS1="[\u@\h \W]\\$ " 

Конечно, вы можете изменить подсказку на любое другое. Я предпочитаю стиль Red Hat, но с указанием полного пути, а не просто последнего компонента каталога.

export PS1="[\u@\h \w]\\$ " 

И, конечно, вы никогда не должны использовать telnet ни на чем, а использовать ssh.

+1 это правильный ответ, отвечающий на обе интерпретации его вопроса в одном. Хотя он хочет заглавную W (только последний каталог). И было бы хорошо вставить `echo $ PS1` в систему на базе Red Hat, как своего рода доказательство и подсказку. barlop 9 лет назад 0
Возможно, он хочет заглавную W, а я нет. Я тоже упомянул почему. :) Michael Hampton 9 лет назад 0
Что если у вас очень длинный путь, следующий за хостом, например `user @ computerxyz ~ / fon / themes / Статьи по компьютерам / Документы программного обеспечения / Примечания по android studio / $` Не хотите ли новую строку в конце? barlop 9 лет назад 0
Ты можешь, если ты хочешь. Моя подсказка на моем рабочем столе делает. Но пути на серверах, которыми я управляю, редко бывают такими длинными, поэтому это не составляет особой проблемы. Michael Hampton 9 лет назад 0
Есть ли дистрибутивы, если не сейчас, то много лет назад, где по умолчанию было / было то, что они даже не показывали последний каталог. то есть просто $ или user @ host $? barlop 9 лет назад 0
@ barlop В былые времена `$` было всем, что мы получили. Michael Hampton 9 лет назад 0
Давайте [продолжим это обсуждение в чате] (http://chat.stackexchange.com/rooms/22996/discussion-between-barlop-and-michael-hampton). barlop 9 лет назад 0
2
Daniel B

Это довольно легко. Просто посмотрите на man 1 bash: В то время как приглашение по умолчанию использует \w(«текущий рабочий каталог с $ HOME, сокращенным до тильды (использует значение переменной PROMPT_DIRTRIM)»), есть также \W: «Базовое имя текущего рабочего каталога, с $ HOME сокращенно тильда »

Чтобы получить то, что вы хотите, используйте это:

export PS1="[\u@\h \W]$ " 
Это все еще не отвечает на вопрос, где он видел бы это в квадратных скобках barlop 9 лет назад 0
@barlop См. [здесь] (http://superuser.com/questions/903428/telnet-how-to-get-userhostname-userfolder#comment1212465_903435) CodeIt 9 лет назад 0
2
Jarmund

Что вам нужно, так это переменная bash PS1. Чтобы получить то, что вы хотите, вам нужно экспортировать эту переменную .bashrc, которая выполняется при входе в систему.

PS1, который вы хотите, должен выглядеть следующим образом:

export PS1="[\u@\h \W]$ "

.bashrcПоместите это в свой домашний каталог. Или просто запустите его как команду из оболочки, если вы хотите временно.

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

export PS1='[\[\033[1;33m\]\u\[\033[1;35m\]@\[\033[1;32m\]\h\[\033[0;36m\]\W\[\033[1;37m\]]\$ \[\033[0;37m\]' 

Правовая оговорка: все кроме меня думают, что вышеупомянутое ужасно.


На заметку: Вы должны избегать telnetting на вашем компьютере, так как telnet очень небезопасен. Я настоятельно рекомендую вместо этого использовать ssh.

хорошо, но он когда-нибудь получит это, не настраивая это непосредственно. Это когда-либо производит это изначально? Я сомневаюсь, что спрашивающий фактически настроил это, хотя он видел это прежде barlop 9 лет назад 0
@barlop Да, используя заглавные буквы `\ W` Jarmund 9 лет назад 0
Хорошая точка зрения в верхнем регистре W, чтобы получить только последний каталог. Но квадратные скобки, возможно, больше похожи на `export PS1 =" [\ u @ \ h \] \ W] $ "`, чтобы получить его квадратные скобки. Но это не отвечает на вопрос, где он видел бы это с квадратные скобки. С вашими настройками, когда он увидит это в квадратных скобках? А если адаптировать ваши, чтобы включить скобки, он будет видеть их каждый раз. barlop 9 лет назад 1
@ barlop не заметил скобок, спасибо. Добавил их Jarmund 9 лет назад 0
Так что с этой настройкой у него всегда есть такая подсказка, но обратите внимание, что он спросил в своем вопросе. «Я действительно хочу знать, когда я получу путь, подобный этому», - понимаете. Теперь, с вашей настройкой, он получает это всегда. Но ясно, что он получает их иногда, а не других, или он видел это иногда, и когда он не настраивал это. Так что вопрос - когда. barlop 9 лет назад 0
@ barlop Вопрос не совсем четко сформулирован. Но самый простой ответ был бы: `Q: Когда я получу подсказку как это? Ответ: При настройке подсказки себя, как в этом ответе. :) Он также заявляет, что он всегда получает подсказку, как первый. Не то, чтобы он иногда получал это как второе. Может быть, он видел это где-то в другой системе и хочет так. (Опять же. Вопрос сформулирован плохо). Rik 9 лет назад 0
`$ PS1` не обязательно должен быть _exported._ Blacklight Shining 9 лет назад 0
@ BlacklightShining хорошо, какую команду вы используете, кроме экспорта PS1 = ".."? barlop 9 лет назад 0
@barlop Вы можете просто сделать `PS1 =" [\ u @ \ h \ W] \ $ "` (назначения переменных не являются командами в сценариях оболочки). Blacklight Shining 9 лет назад 1
@barlop Ни одно из двух утвержденных в настоящее время правок не меняет эту часть формулировки автора. Пока ** они ** (пол не был указан!) Ответят на [ваш комментарий] (https://superuser.com/q/903428/#comment1212127_903428) или отредактируют вопрос, чтобы уточнить, я и многие другие продолжим предполагать что они спрашивают, как настроить их подсказку. Вопрос также может быть закрыт как слишком неясный или, возможно, дубликат. Blacklight Shining 9 лет назад 0
@ BlacklightShining Я предлагаю дать вопроснику время вернуться. Я думаю, что спрашивающий вполне может быть заинтересован в том, как настроить подсказку, но если он никогда не намеревался даже подразумевать другую интерпретацию и не хочет спрашивать другую интерпретацию (то есть он настаивает, что его вопрос - как настроить подсказку ), то оно должно быть закрыто. barlop 9 лет назад 0
@ barlop Я думаю, что это должно быть немедленно приостановлено: неясно, как в настоящее время сформулировано. Он может быть возобновлен, как только автор вернется и отредактирует его. Blacklight Shining 9 лет назад 0
@ barlop У меня были проблемы с подключением к Интернету, поэтому я не мог ответить. Я видел это в нашей компьютерной лаборатории год назад. Мы использовали telnet там. Вопрос возник, когда я попытался создать сервер telnet самостоятельно. Поскольку я покинул это учреждение, у меня больше нет доступа к этой лаборатории, поэтому я задал этот вопрос. CodeIt 9 лет назад 0
@ BlacklightShining Извините за задержку с ответом. Я никогда не хотел настраивать, но я хотел знать, когда я получу это так: [username @ hostname Folder_Name] $. Идея настройки возникла только тогда, когда один пользователь отправил ответ. К сожалению, этот ответ не был ясен, и я думаю, что пользователь удалил ответ. CodeIt 9 лет назад 0
Проблема заключается в вашей фразировке, которую вы только что повторили: _ когда я получу это так? _ Вы спрашиваете, как настроить текущую оболочку для такой подсказки, или вы спрашиваете, какая оболочка запрашивает подобное по умолчанию, или при каких условиях оболочка будет так подсказывать? Blacklight Shining 9 лет назад 0
@ BlacklightShining Извините, я спросил, как это выглядит по умолчанию. CodeIt 9 лет назад 0
Отредактируйте эту информацию в своем вопросе. Blacklight Shining 9 лет назад 0