Журнал LinuxFormat - перейти на главную

LXF141:Совет месяца

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(Совет месяца: По подсказке)
(Совет месяца: По подсказке)
 
Строка 6: Строка 6:
  
 
<source lang=bash>
 
<source lang=bash>
  if [[ ­n “${SSH_TTY}” ]]; then
+
  if [[ ­-n “${SSH_TTY}” ]]; then
 
         PS1=’\[\033[01;35m\]\h\[\033[01;34m\] \W\$\[\033[00m\] ‘
 
         PS1=’\[\033[01;35m\]\h\[\033[01;34m\] \W\$\[\033[00m\] ‘
 
  elif [[ ${EUID} == 0 ]] ; then
 
  elif [[ ${EUID} == 0 ]] ; then

Текущая версия на 12:55, 9 апреля 2012

[править] Совет месяца: По подсказке

Используете ли вы учетную запись root для администра­тивных задач вместо предварения команд sudo? Исполь­зуете ли вы SSH для входа в другие компьютеры? Если у вас открыто несколько окон терминалов, легко заблу­диться и ввести команду не там, где надо.

Многие дистрибутивы включают имя пользователя и хоста в подсказку командной строки, но это все равно не наглядно. Если вы действительно хотите знать, где на­ ходитесь, используйте различные цвета. Пользователи Bash могут вставить в свой файл bashrc (либо принадле­жащий пользователю – ~/.bashrc, либо, предпочтитель­но, системный файл в /etc) нечто вроде этого:

 if [[ ­-n “${SSH_TTY}]]; then
        PS1=’\[\033[01;35m\]\h\[\033[01;34m\] \W\$\[\033[00m\]elif [[ ${EUID} == 0 ]] ; then
       PS1=’\[\033[01;31m\]\h\[\033[01;34m\] \W\$\[\033[00m\]else
       PS1=’\[\033[01;32m\]\u@\h\[\033[01;34m\]\w \$\[\033[00m\]fi

PS1 содержит подсказку, которую отображает Bash, и наш код сначала проверяет, не логин ли это SSH, а за­тем – не root ли пользователь, и задает для PS1 значение по умолчанию, если и то, и другое неверно. Код выглядит загадочным (потому что таковым и является), но основ­ное различие между настройками PS1 – спецификации цвета, заставляющие подстроку подсказки user@host менять окраску.

Персональные инструменты
купить
подписаться
Яндекс.Метрика